Commit Graph

16837 Commits

Author SHA1 Message Date
Robin
1e060fed84
Don't form continuations from thread roots (#8166)
* Don't form continuations from thread roots

* Only apply the continuation break in the main timeline
2022-03-26 18:06:25 -04:00
Michael Telatynski
bc01efa124
Improve handling of animated GIF and WEBP images (#8153) 2022-03-25 16:31:40 +00:00
Kerry
1397652f52
Extract location utils from components (#8152)
* extract util functions from MLocationBody

Signed-off-by: Kerry Archibald <kerrya@element.io>

* disassemble mlocationbody

Signed-off-by: Kerry Archibald <kerrya@element.io>

* tidy and add copyrights

Signed-off-by: Kerry Archibald <kerrya@element.io>

* move types and utils from components/location to utils

Signed-off-by: Kerry Archibald <kerrya@element.io>

* i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>

* empty line

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-25 15:36:22 +01:00
Michael Telatynski
24bda5602f
Strip relations when forwarding (#7929) 2022-03-24 12:25:59 +00:00
Michael Telatynski
f86cc74afc
Fix issues with edited events not affecting threads (#8125) 2022-03-24 12:24:18 +00:00
Michael Telatynski
0feecccef1
Wire up file preview for video files (#8140) 2022-03-24 11:59:20 +00:00
Michael Telatynski
9dcee811e3
Fix 3pid member info for space member list (#8128) 2022-03-24 11:32:31 +00:00
Suguru Hirahara
d92977df9e
Make rooms and spaces list responsive (#8088) 2022-03-24 08:50:02 +00:00
Travis Ralston
8f1e97be0d
Delete empty "StatusMessageContextMenu" (#8138) 2022-03-23 16:01:54 -06:00
Michael Telatynski
306ddd51e4
Refactor all of Devtools and tidy it up (#8097) 2022-03-23 20:17:57 +00:00
Suguru Hirahara
3bb0dc08e8
Responsive information bar on Space landing page (#8060) 2022-03-23 17:17:25 +00:00
Suguru Hirahara
86691550df
Padding setting of link button & nesting structure of _AccessibleButton.scss (#8091) 2022-03-23 17:15:15 +00:00
Kerry
1495c23a14
Live location sharing: geolocation utilities (#8126)
* geolocation utilities

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove debug

Signed-off-by: Kerry Archibald <kerrya@element.io>

* comments for ts-ignores

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-23 17:08:56 +00:00
Šimon Brandner
3534e9b6ce
Upgrade emojibase and twemoji (#7286)
Co-authored-by: Tulir Asokan <tulir@maunium.net>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-23 17:08:34 +00:00
Suguru Hirahara
9961b003bb
Replace "Element" with a brand const (#8074) 2022-03-23 16:31:25 +00:00
Germain
d922ee2cb9
Thread list ordering by last reply (#8112) 2022-03-23 14:43:33 +00:00
Travis Ralston
ad130acd30
Remove unused component: SimpleRoomHeader (#8122) 2022-03-23 07:32:13 -06:00
Michael Telatynski
d9276426fa
When showing thread, always auto-focus its composer (#8115) 2022-03-23 10:54:40 +00:00
Kerry
752ad6a9f9
Live location sharing - refresh beacon expiry in room (#8116)
* add duration dropdown to live location picker

Signed-off-by: Kerry Archibald <kerrya@element.io>

* tidy comments

Signed-off-by: Kerry Archibald <kerrya@element.io>

* setup component

Signed-off-by: Kerry Archibald <kerrya@element.io>

* replace references to beaconInfoId with beacon.identifier

Signed-off-by: Kerry Archibald <kerrya@element.io>

* icon

Signed-off-by: Kerry Archibald <kerrya@element.io>

* component for styled live beacon icon

Signed-off-by: Kerry Archibald <kerrya@element.io>

* emit liveness change whenever livebeaconIds changes

Signed-off-by: Kerry Archibald <kerrya@element.io>

* Handle multiple live beacons in room share warning, test

Signed-off-by: Kerry Archibald <kerrya@element.io>

* un xdescribe beaconstore tests

Signed-off-by: Kerry Archibald <kerrya@element.io>

* missed copyrights

Signed-off-by: Kerry Archibald <kerrya@element.io>

* i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>

* refresh beacon time remaining

Signed-off-by: Kerry Archibald <kerrya@element.io>

* kill timeout

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use useInterval

Signed-off-by: Kerry Archibald <kerrya@element.io>

* beacon not optional in useMsRemaining

Signed-off-by: Kerry Archibald <kerrya@element.io>

* just use single "you are sharing" message

Signed-off-by: Kerry Archibald <kerrya@element.io>

* trigger

Signed-off-by: Kerry Archibald <kerrya@element.io>

* i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>

* i18n again

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-23 11:12:58 +01:00
Suguru Hirahara
9b2944294c
Replace "community" with "space" of keyboard shortcuts (#7994) 2022-03-23 07:52:05 +00:00
Travis Ralston
d640ac374f Revert "Remove unused component: SimpleRoomHeader"
This reverts commit eb50b4930f.
2022-03-23 00:10:00 -06:00
Travis Ralston
eb50b4930f Remove unused component: SimpleRoomHeader 2022-03-23 00:09:36 -06:00
Travis Ralston
fce36ec826
Delete groups (legacy communities system) (#8027)
* Remove deprecated feature_communities_v2_prototypes

* Update _components

* i18n

* delint

* Cut out a bit more dead code

* Carve into legacy components

* Carve into mostly the room list code

* Carve into instances of "groupId"

* Carve out more of what comes up with "groups"

* Carve out some settings

* ignore related groups state

* Remove instances of spacesEnabled

* Fix some obvious issues

* Remove now-unused css

* Fix variable naming for legacy components

* Update i18n

* Misc cleanup from manual review

* Update snapshot for changed flag

* Appease linters

* rethemedex

* Remove now-unused AddressPickerDialog

* Make ConfirmUserActionDialog's member a required prop

* Remove useless override from RightPanelStore

* Remove extraneous CSS

* Update i18n

* Demo: "Communities are now Spaces" landing page

* Restore linkify for group IDs

* Demo: Dialog on click for communities->spaces notice

* i18n for demos

* i18n post-merge

* Update copy

* Appease the linter

* Post-merge cleanup

* Re-add spaces_learn_more_url to the new SdkConfig place

* Round 1 of post-merge fixes

* i18n

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-22 23:07:37 +00:00
Robin
953e3148d1
Make video sizing consistent with images (#8102)
* Make video sizing consistent with images

* Test suggestedSize

* Constrain width of media in large mode
2022-03-22 18:16:03 -04:00
Šimon Brandner
bff1ef31d6
Use styled mxids in member list v2 (#8110)
* Revert "Revert "Use styled mxids in member list (#6328)" (#8107)"

This reverts commit 709e6e78d2.

* Fix disambiguated profile for bubbles

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-03-22 16:14:55 -06:00
Robin
cfabcdda35
Voice rooms prototype (#8084)
* Add voice room labs flag

Signed-off-by: Robin Townsend <robin@robin.town>

* Add more widget actions for interacting with Jitsi

Signed-off-by: Robin Townsend <robin@robin.town>

* Factor out a more generic Jitsi creation utility

Signed-off-by: Robin Townsend <robin@robin.town>

* Add utilities for managing voice channels

Signed-off-by: Robin Townsend <robin@robin.town>

* Enable creation of voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Force a maximized view of voice channel widgets

Signed-off-by: Robin Townsend <robin@robin.town>

* Add voice channel store

Signed-off-by: Robin Townsend <robin@robin.town>

* Factor out a more generic FacePile

Signed-off-by: Robin Townsend <robin@robin.town>

* Implement room tile changes for voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Add interactive radio component to the left panel

Signed-off-by: Robin Townsend <robin@robin.town>

* Test voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Update name of call room type

Signed-off-by: Robin Townsend <robin@robin.town>

* Clarify that voice rooms are under development

Signed-off-by: Robin Townsend <robin@robin.town>

* Use readonly

Signed-off-by: Robin Townsend <robin@robin.town>

* Move acks to the end of handlers

Signed-off-by: Robin Townsend <robin@robin.town>

* Add comment about avatar URLs coming from Jitsi

Signed-off-by: Robin Townsend <robin@robin.town>

* Don't use unicode ellipses

for translation reasons?

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix tests

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix tests, again

Signed-off-by: Robin Townsend <robin@robin.town>

* Remove unnecessary export

Signed-off-by: Robin Townsend <robin@robin.town>

* Ack Jitsi events when we wait for them

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-22 16:14:11 -06:00
Germain
f416a970ca
Lazy load thread list timeline set (#8120) 2022-03-22 21:34:16 +00:00
Kerry
b04d31b5be
Live location sharing: live share warning in room (#8100)
* add duration dropdown to live location picker

Signed-off-by: Kerry Archibald <kerrya@element.io>

* tidy comments

Signed-off-by: Kerry Archibald <kerrya@element.io>

* setup component

Signed-off-by: Kerry Archibald <kerrya@element.io>

* replace references to beaconInfoId with beacon.identifier

Signed-off-by: Kerry Archibald <kerrya@element.io>

* icon

Signed-off-by: Kerry Archibald <kerrya@element.io>

* component for styled live beacon icon

Signed-off-by: Kerry Archibald <kerrya@element.io>

* emit liveness change whenever livebeaconIds changes

Signed-off-by: Kerry Archibald <kerrya@element.io>

* Handle multiple live beacons in room share warning, test

Signed-off-by: Kerry Archibald <kerrya@element.io>

* un xdescribe beaconstore tests

Signed-off-by: Kerry Archibald <kerrya@element.io>

* missed copyrights

Signed-off-by: Kerry Archibald <kerrya@element.io>

* i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>

* tidy

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-22 13:57:12 +00:00
Matthew Hodgson
c8d3b51640
fix quicktime video thumbnailing (#8108)
when reading quicktime files for thumbnailing and/or display, clobber the mimetype from `video/quicktime` to be `video/mp4` so browsers don't choke on it.
2022-03-22 12:23:25 +00:00
Germain
2bf1d2b287
Change stable threads dialog copy (#8099) 2022-03-22 09:23:55 +00:00
Travis Ralston
709e6e78d2
Revert "Use styled mxids in member list (#6328)" (#8107)
This reverts commit 5d28e0533d.
2022-03-21 19:58:38 -06:00
Šimon Brandner
5d28e0533d
Use styled mxids in member list (#6328)
* Add DisambiguatedProfile

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Give DisambiguatedProfile some nice options

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Delint

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use DisambiguatedProfile in member tile

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Basic handling of text overflow

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use name instead of rawDisplayName

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* This seems to make more sense

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Reodred

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* rethemedex

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix import

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix color

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Appease the linter

* Re-apply UserIdentifier patch

Co-authored-by: Matthew Hodgson <matthew@matrix.org>
Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-03-22 01:08:43 +00:00
Kerry
0b80755fb8
extract reusable styled live beacon icon (#8103)
* extract reusable styles live beacon icon

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add secondary live lcation color

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-21 16:43:43 +00:00
Michael Telatynski
dd53b226eb
Allow sending files as replies as per MSC3676 (#8020) 2022-03-21 12:03:59 +00:00
Kerry
14653d1378
Live location share - set time limit (#8082)
* add mocking helpers for platform peg

Signed-off-by: Kerry Archibald <kerrya@element.io>

* basic working live duration dropdown

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add duration format utility

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add duration dropdown to live location picker

Signed-off-by: Kerry Archibald <kerrya@element.io>

* adjust style to allow overflow and variable height chin

Signed-off-by: Kerry Archibald <kerrya@element.io>

* tidy comments

Signed-off-by: Kerry Archibald <kerrya@element.io>

* arrow fn change

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-21 12:42:58 +01:00
Šimon Brandner
8418b4fd71
Move KeyboardShortcut styling into a separate file (#8067) 2022-03-21 11:41:32 +00:00
Matthew Hodgson
22712d3091
fix ugly warning from nesting div tags in p tags (#8094)
might make negligible spacing changes to text buttons in MemberInfo, but not enough that i could spot them.
2022-03-21 10:27:19 +00:00
Robin
83f2bf4261
Improve remove recent messages dialog (#6114)
* Allow keeping state events when removing recent messages

The remove recent messages dialog redacts most state events since they
can be abuse vectors as well, however some users that see the option
actually want to use it to only remove messages. This adds a checkbox
option to do so.

Signed-off-by: Robin Townsend <robin@robin.town>

* Don't redact encryption events when removing recent messages

Signed-off-by: Robin Townsend <robin@robin.town>

* Show UserMenu spinner while removing recent messages

This also generalizes the UserMenu spinner to work with other types of
actions in the future.

Signed-off-by: Robin Townsend <robin@robin.town>

* Clarify remove recent messages warning

Clarify that they are removed for everyone in the conversation, not just
yourself.

Signed-off-by: Robin Townsend <robin@robin.town>

* Adjust copy and preserve state events by default

* Redact messages in reverse chronological order

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-18 20:08:32 +00:00
Travis Ralston
d8a939df5d
Use & enforce snake_case naming convention on config.json settings (#8062)
* Document and support the established naming convention for config opts

This change:
* Rename `ConfigOptions` to `IConfigOptions` to match code convention/style, plus move it to a dedicated file
* Update comments and surrounding documentation
* Define every single documented option (from element-web's config.md)
* Enable a linter to enforce the convention
* Invent a translation layer for a different change to use
* No attempt to fix build errors from doing this (at this stage)

* Add demo of lint rule in action

* Fix all obvious instances of SdkConfig case conflicts

* Fix tests to use SdkConfig directly

* Add docs to make unset() calling safer

* Appease the linter

* Update documentation to match snake_case_config

* Fix more instances of square brackets off SdkConfig
2022-03-18 10:12:36 -06:00
Germain
12d26555af
Move timeline set creation logic to the JS SDK (#8070) 2022-03-18 11:59:03 +00:00
Kerry
da097d42ef
fix ts issues in SendMessageComposer-test (#8077)
* fix ts issues in SendMessageComposer-test

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove empty file

Signed-off-by: Kerry Archibald <kerrya@element.io>

* better event type for m.room.message

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-18 10:07:33 +00:00
Kerry
cdcf6d0fd1
Live location sharing: create beacon info event from location picker (#8072)
* create beacon info event with defaulted duration

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add shareLiveLocation fn

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test share live location

Signed-off-by: Kerry Archibald <kerrya@element.io>

* i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-18 10:52:24 +01:00
Germain
4e4ce65f58
Use redaction enum event type rather than hardcoded string (#8071) 2022-03-17 18:38:29 +01:00
Kerry
176e49e312
enable geolocation behaviour in location picker for live share type (#8068)
* enable geolocation behaviour in location picker for live share type

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add empty lines

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-17 09:26:47 +01:00
Kerry
9f6c238827
Add simple live share warning (#8066)
* add simple live share warning

Signed-off-by: Kerry Archibald <kerrya@element.io>

* rough first cut of OwnBeaconStore

Signed-off-by: Kerry Archibald <kerrya@element.io>

* working (?) has live beacons status

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add left panel share warning

Signed-off-by: Kerry Archibald <kerrya@element.io>

* setup for tests

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test ownbeaconstore

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove warning banner

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix test

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix tests for weird asyncstore closure issues

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix OwnBeaconStore more...

Signed-off-by: Kerry Archibald <kerrya@element.io>

* revert loose change to LeftPanel

Signed-off-by: Kerry Archibald <kerrya@element.io>

* Revert "remove warning banner"

This reverts commit 4529813b12e3206731f18e0514aa6e0f6896d03a.

* test live share warning

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-17 09:25:57 +01:00
Germain
59584cdc3e
Threads experimental transition modal (#8065) 2022-03-16 16:35:25 +00:00
Alexander Stephan
26e6f8deca
Improve formatting features in the editor (#7104)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-16 09:46:07 +00:00
Andy Balaam
cbf5fbf870
Enable the live location share button (#8056) 2022-03-16 09:37:09 +00:00
Andy Balaam
e1fdff46f5
Show "Share my location" button (#8054) 2022-03-15 15:04:52 +00:00
J. Ryan Stinnett
c4428a804c
Merge pull request from GHSA-qmf4-7w7j-vf23 2022-03-15 14:08:34 +00:00
Germain
2acc8fd18b
Implement is_falling_back in accordance to MSC3440 (#8055) 2022-03-15 13:52:37 +00:00
David Baker
cc9651089e
Fix freeze/crash when 1:1 calling (#8057)
* Fix freeze/crash when 1:1 calling

Don't log call feed objects because they reference the client and
it causes the client to get logged too.

* Log purpose too
2022-03-15 13:52:22 +00:00
Robin
744eeb53fe
Don't assume that widget IDs are unique (#8052)
* Don't assume that widget IDs are unique

Signed-off-by: Robin Townsend <robin@robin.town>

* Don't remove live tiles that don't exist

Signed-off-by: Robin Townsend <robin@robin.town>

* Add unit test for AppTile's live tile tracking

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-15 12:15:26 +00:00
Travis Ralston
813a60a7f3
Remove left panel widgets (#8044)
They aren't practically used, and are difficult to set up in the first place (requires server-managed account or devtools).
2022-03-14 19:39:35 -06:00
Šimon Brandner
8d13e238b9
Keybinding code unification #6 (#8042) 2022-03-14 13:25:51 +00:00
David Baker
23d5ba9c89
Support MSC3026 busy presence (#8043)
* Support MSC3026 busy presence

* Use UnstableValue

* Add the import
2022-03-14 10:22:12 +00:00
Suguru Hirahara
afadea01a0
Reuse a common part of the translation (#7978) 2022-03-14 09:12:02 +00:00
Suguru Hirahara
64e9cdd619
Fix the header of Space landing page (#8048) 2022-03-14 09:11:12 +00:00
Suguru Hirahara
ed6a371616
Fix buttons alignment of Space list header (#8047) 2022-03-14 09:07:36 +00:00
Michael Telatynski
14807de552
Show displayname in non-narrow thread summeries (#8036)
* Show displayname in non-narrow thread summeries

* Iterate PR

* Iterate PR to use line-height based approach

* Fix hover/focus chevron on thread summary relying on font character
2022-03-11 19:24:18 +00:00
Germain
7508fd975f
Prevent thread creation on events with existing relation (#8037) 2022-03-11 17:51:38 +00:00
Michael Telatynski
4b0df21b0a
Fix null-guarding regression around reply_to_event dispatch (#8039) 2022-03-11 17:21:28 +00:00
Michael Telatynski
5262d5c315
Fix clicking on copy link to thread wrongly opening thread (#8038) 2022-03-11 17:13:23 +00:00
Michael Telatynski
ceb2281d36
Fix regression around replying to search results (#8035) 2022-03-11 15:40:49 +00:00
Michael Telatynski
1801eddde1
Tweak search dialog based on new designs (#7980) 2022-03-11 09:34:44 +00:00
Germain
21d3cb08a9
Switch to using stable values for threads (#8019) 2022-03-11 09:04:22 +00:00
Kerry
d38a1fa201
fallback to event text in location body when map unavailable (#7982)
* center icon better

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove debug

Signed-off-by: Kerry Archibald <kerrya@element.io>

* retrigger all builds

Signed-off-by: Kerry Archibald <kerrya@element.io>

* set assetType on share event

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use pin marker on map for pin drop share

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test events

Signed-off-by: Kerry Archibald <kerrya@element.io>

* pin drop helper text

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use generic location type

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add navigationcontrol when in pin mode

Signed-off-by: Kerry Archibald <kerrya@element.io>

* allow pin drop without location permissions

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove geolocate control when pin dropping without geo perms

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test locationpicker

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test marker type, tidy

Signed-off-by: Kerry Archibald <kerrya@element.io>

* move findMapStyleUrl

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fallback to event content when cant render map

Signed-off-by: Kerry Archibald <kerrya@element.io>

* update mocks in location picker, show same messages as timeline

Signed-off-by: Kerry Archibald <kerrya@element.io>

* style error message in location share menu

Signed-off-by: Kerry Archibald <kerrya@element.io>

* i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>

* forgotten copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>

* update style

Signed-off-by: Kerry Archibald <kerrya@element.io>

* icon bigger

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-11 09:52:57 +01:00
Robin
3608fdb2ae
Paginate responses to pinned polls (#8025)
* Paginate responses to pinned polls

Signed-off-by: Robin Townsend <robin@robin.town>

* Test that pinned polls display paginated responses

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-10 18:14:34 +00:00
Kerry
e96d9157a9
update location event types (#8022)
* update types

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix tests

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* trigger

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-10 18:03:31 +00:00
chagai95
a4b2e0c0d8
Don't show empty 3 dots in Message Composer when there aren't any more buttons (#8023) 2022-03-10 17:19:48 +00:00
Germain
246d6757ab
Fix missing threads in thread list (#8011)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-10 16:44:50 +00:00
Michael Telatynski
3f67a389c1
Fix incorrect usage of unstable variant of is_falling_back (#8016) 2022-03-10 15:32:00 +00:00
Michael Telatynski
5902ddaf06
Fix issues with ThreadSummary in msc-enabled mode (#8018) 2022-03-10 13:34:24 +00:00
Robin
225581de6a
Don't escape pasted text (#8014)
Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-10 08:30:43 -05:00
Michael Telatynski
48cd83b9d5
Fix issues with thread summaries being wrong or stale (#8015) 2022-03-10 10:29:28 +00:00
Germain
3d6dece344
Filter empty threads out from list (#8008) 2022-03-10 09:14:21 +00:00
Suguru Hirahara
93bde40568
Fix button border color of LeaveSpaceDialog (#8010) 2022-03-10 07:52:09 +00:00
Robin
7b71a9fb65
Fix room list scroll jumps (#7991)
Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-09 13:18:17 -05:00
Kerry
14684c6296
Send pin drop location share events (#7967)
* center icon better

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove debug

Signed-off-by: Kerry Archibald <kerrya@element.io>

* retrigger all builds

Signed-off-by: Kerry Archibald <kerrya@element.io>

* set assetType on share event

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use pin marker on map for pin drop share

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test events

Signed-off-by: Kerry Archibald <kerrya@element.io>

* pin drop helper text

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use generic location type

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add navigationcontrol when in pin mode

Signed-off-by: Kerry Archibald <kerrya@element.io>

* allow pin drop without location permissions

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove geolocate control when pin dropping without geo perms

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test locationpicker

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test marker type, tidy

Signed-off-by: Kerry Archibald <kerrya@element.io>

* tweak style

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-09 18:14:07 +01:00
Michael Telatynski
288e47fd81
Update m.render_in to is_falling_back (+ unstable field) (#7979) 2022-03-09 16:15:53 +00:00
Suguru Hirahara
a71009fca0
Add a new line on SpaceRoomView (#8002) 2022-03-09 12:59:17 +00:00
J. Ryan Stinnett
65691202f7
Add lint for unused locals (#8007) 2022-03-09 12:05:16 +00:00
Germain
c7dfaa8f64
fix thread fallback targeting only thread relations (#8006) 2022-03-09 11:34:38 +00:00
Michael Telatynski
782ce016d1
Wrap EventTile rather than its children in an error boundary (#7945) 2022-03-09 11:22:36 +00:00
Sinharitik589
4592f9f7f9
Normalized shortcut formatting for quote expansion control (#7995) 2022-03-09 09:52:31 +00:00
Suguru Hirahara
930120823f
Remove hard-coded whitespace characters from SpaceCreateMenu.tsx (#7885)
Whitespace characters should not be hard-coded as some languages do not
have the concept of whitespace in the first place.

Fixes https://github.com/vector-im/element-web/issues/21187

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2022-03-08 14:41:27 -07:00
Germain
7faf56b7e7
Disable pending events for thread list when server supports threads (#8003) 2022-03-08 15:51:24 +00:00
Andy Balaam
a792097d02
Keyboard shortcut to open the sticker picker (#7985) 2022-03-08 15:05:36 +00:00
David Baker
10c8a31736
Add another null guard for member (#7984)
* Add another null guard for member

To hopefully fix https://github.com/vector-im/element-web/issues/21319

* Use getSender()

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-08 10:31:31 +00:00
Robin
319ed3a776
Fix missing summary text for pinned message changes (#7989)
Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-04 18:35:28 -05:00
Travis Ralston
b981a96b29
Add unexposed account setting for hiding poll creation (#7972)
* Add unexposed account setting for hiding poll creation

This is to match the sticker picker setting we already have, but not exposed in the user settings until we decide if we actually want it to be there.

This is primarily intended to be used in environments that disable it at the config level, though given there's multiple people in the wild who have asked for this, it seems reasonable to expose it as a hidden setting instead. Note that as of writing it's not clear if any of those requests made it as far as an issue tracker.

Typically for the usecase presented we'd add a new UIFeature flag, however this *feels* wrong for the case at hand.

* Move visibility check way higher

* Fix i18n post-merge
2022-03-04 18:04:30 +00:00
Michael Telatynski
aa48cfd0a0
Pass room to getRoomTombstone to avoid racing with setState (#7986) 2022-03-04 17:12:20 +00:00
Germain
6174b13142
Add thread root to timelime when starting a new thread (#7983) 2022-03-04 15:56:28 +00:00
Michael Telatynski
0e60ad98c1
Hide composer and call buttons when the room is tombstoned (#7975) 2022-03-04 15:53:22 +00:00
Šimon Brandner
675b4271e9
Rename MessageComposerInput.insertTrailingComma to MessageComposerInput.insertTrailingColon (#7981) 2022-03-04 15:13:50 +00:00
Robin
3099a75a5d
Allow pinning polls (#7922)
* Allow pinning polls

Signed-off-by: Robin Townsend <robin@robin.town>

* Show responses to pinned polls

Signed-off-by: Robin Townsend <robin@robin.town>

* Use enums more

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-04 09:26:13 -05:00
Šimon Brandner
a58b1e9d79
Document keyboard shortcuts (#7908) 2022-03-04 12:14:52 +00:00
Germain
84bd136657
Fix destructuring when threads has no server support (#7976) 2022-03-04 11:10:45 +00:00
Suguru Hirahara
b80ea34805
Fix a paragraph in const EmptyThread (#7964) 2022-03-04 08:27:23 +00:00
Šimon Brandner
4c05b7da1f
Make trailing : into a setting (#6711)
* Make trailing `:` into a setting

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Make traling comma opt-out

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Write `insertTrailingComma` when reading for future opt-in setting

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Update src/editor/parts.ts

* Fix line length

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

Co-authored-by: Travis Ralston <travpc@gmail.com>
2022-03-04 00:23:26 -07:00
Kerry
d98a73b003
Revert "replace all require(.svg) with esm import" (#7969)
* Revert "replace all require(svgs) with esm import (#7948)"

This reverts commit 61cd463a3b.

* add .default to svg icon inline requires

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add shameful eslint ignore

Signed-off-by: Kerry Archibald <kerrya@element.io>

* format eslintrc

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add missed MFileBody change

Signed-off-by: Kerry Archibald <kerrya@element.io>

* one more broken svg

Signed-off-by: Kerry Archibald <kerrya@element.io>

* and ignore it

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-03 17:51:38 +00:00
Germain
c42ef0de2a
Remove e2e padlock on threads list (#7970) 2022-03-03 16:28:42 +00:00
Germain
acd12c38a9
Fix threads timeline message ordering (#7968) 2022-03-03 15:22:16 +00:00
Robin
f9ad2a5151
Hide unpinnable pinned messages in more cases (#7921)
* Hide unpinnable pinned messages in more cases

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix typo

Signed-off-by: Robin Townsend <robin@robin.town>

* Test that unpinnable pinned messages get hidden

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix cli.relations error in test

Signed-off-by: Robin Townsend <robin@robin.town>

* Use event: true shortcut when calling mkEvent

Signed-off-by: Robin Townsend <robin@robin.town>

* Use mockResolvedValue instead of mockReturnValue for async mock

Signed-off-by: Robin Townsend <robin@robin.town>

* Actually mock redacted messages correctly

Signed-off-by: Robin Townsend <robin@robin.town>

* Ensure that panel is updated before assertions are made

Signed-off-by: Robin Townsend <robin@robin.town>

* Move calls to update out of act

They don't need to be there.

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-03 07:54:44 -05:00
Kerry
ebc2267e52
Location sharing > back button (#7958)
* add back/cancel buttons to share dialog

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test buttons

Signed-off-by: Kerry Archibald <kerrya@element.io>

* improve weird indentation

Signed-off-by: Kerry Archibald <kerrya@element.io>

* relint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* PR tweaks

Signed-off-by: Kerry Archibald <kerrya@element.io>

* quotes

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-03 11:30:46 +01:00
Kerry
7aefa34420
use LocationAssetType (#7965)
* use LocationAssetType

Signed-off-by: Kerry Archibald <kerrya@element.io>

* center icon better

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove debug

Signed-off-by: Kerry Archibald <kerrya@element.io>

* retrigger all builds

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-03 10:04:38 +00:00
Eric Eastwood
3572b36648
Fix room list being laggy while scrolling 🐌 (#7939)
Fix https://github.com/vector-im/element-web/issues/21262

Optimizations:

 1. Don't update the `style` (positioning) of hidden tooltips
 1. Don't add DOM elements to the page for hidden tooltips

> ## Performance problems broken down
>
>
> ### Hidden tooltips rendering on `scroll`
>
> You can see that the Tooltip render is attached to the `scroll` event  at [`src/components/views/elements/Tooltip.tsx#L78-L81`](31f0a37ca2/src/components/views/elements/Tooltip.tsx (L78-L81))
>
> The rendering calls [`src/components/views/elements/Tooltip.tsx#L101` -> `updatePosition`](36adba101c/src/components/views/elements/Tooltip.tsx (L101)) which ends up as an expensive "Recalculate Style" because it uses [`Element.getBoundingClientRect()`](https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect). This happens many many times within a single `scroll` event. Probably once for each tooltip within the room list **even though no tooltips are event visible as I scroll**. I can see that we're just updating the `style` attribute for a bunch of `.mx_Tooltip_invisible` elements at the end of the document.
>
> Each one of the purple spans below the `scroll` span ends up as a call to `updatePosition`. And a `scroll` event takes 35ms to 60ms to complete which is way over the 16.6ms 60 FPS budget (on a powerful desktop PC), granted these times are with the performance profiling running. This is without the Passbolt extension explained below.
>
> And the room list contains about 141 rooms (`document.querySelectorAll('.mx_RoomTile').length`):
>
> ![](https://user-images.githubusercontent.com/558581/156273551-e744d3d6-93c6-4b07-bb12-6aad361f96a2.png)
>
>
>
> ### Passbolt Chrome browser extension exacerbates the problem
>
> In order to login to Passbolt, it requires a browser extension which defaults to mucking up all pages:
>
> <img src="https://user-images.githubusercontent.com/558581/156275644-bc26b1f5-5d99-4eae-b74b-c2028f2f1baf.png" width="300">
>
>
> The extension source seems to be available: https://github.com/passbolt/passbolt_browser_extension
>
> The Passbolt Chrome extension has a `MutationObserver` listening to all attribute and element changes to the whole `<body>` of the `document` so it can `findAndSetAuthenticationFields` (find form elements and autofill).
>
>
> [`passbolt/passbolt_styleguide` -> `src/react-web-integration/lib/InForm/InFormManager.js#L143`](1c5eddc910/src/react-web-integration/lib/InForm/InFormManager.js (L143))
> ```js
> this.mutationObserver.observe(document.body, { attributes: true, childList: true, subtree: true });
> ```
>
> This causes a bunch of `Forced reflow` because the Tooltip `updatePosition` is mutating the element `style` attribute and Passbolt `MutationObserver` callbacks are querying the whole DOM looking for form elements all in the same frame.
>
> Under the `scroll` event, all of the little spans are the `MutationObserver` -> `findAndSetAuthenticationFields`. With the Passbolt extension, scrolling is verrrrry crunchy and bad.
>
> ![](https://user-images.githubusercontent.com/558581/156144998-8cf7686f-3c7b-42f8-8d81-ff780bae0ab5.png)
>
>
> #### Workaround
>
> Instead of running Passbolt on all sites, we can enable the extension to only run on the domain for Passbolt instance itself. I'm guessing the Passbolt extension also does autofill stuff on sites but I always login manually to the Passbolt instance so this solution works for me �
>
> **Extensions** -> **Passbolt** -> **Details** -> Change **Site access** to `On specific sites` -> Enter in your Passbolt instance `https://passbolt.example.com/`
>
> ![](https://user-images.githubusercontent.com/558581/156275630-a53ef6a1-c058-4ac9-aa08-ae50b90e72c9.png)
>
> *-- https://github.com/vector-im/element-web/issues/21262*
2022-03-02 13:20:01 -06:00
Travis Ralston
f882466329
Add a few more UIComponent flags, and ensure they are used in existing code (#7937)
* UIComponent flag: Explore rooms

To disable the room directory access on the Home space. Can be controlled with the existing ComponentVisibilityCustomisation

* Make "plus menu" respect component visibility

* UIComponent flag: Add integrations

To disable the widgets section of the room info card and addwidget slashcommand. Can be controlled with the existing ComponentVisibilityCustomisation

* Make sure invite users component applies to space rooms too

* Appease the linter
2022-03-02 10:37:18 -07:00
Kerry
d304e24a45
Revert "remove code related to encrypted file download button in iframe" (#7957)
* Revert "remove code related to encrypted file download button in iframe (#7940)"

This reverts commit 26216ec527.

* udpate icon import in MFileBody

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-02 18:27:36 +01:00
Robin
8f68a43ee3
Make pinned messages more reliably reflect edits (#7920)
* Inject edits from /relations API into pinned messages

Signed-off-by: Robin Townsend <robin@robin.town>

* Limit returned relations, because we only need one

Signed-off-by: Robin Townsend <robin@robin.town>

* Fetch pinned message edits in parallel

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-02 12:21:23 -05:00
Robin
aadb64615f
Fix duplicate EventListSummarys (#7952)
* Fix duplicate EventListSummarys

Signed-off-by: Robin Townsend <robin@robin.town>

* Add regression test

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-02 11:46:51 -05:00
Michael Telatynski
560f8f7ee7
Improve accessibility of the BetaPill (#7949) 2022-03-02 16:31:47 +00:00
Michael Telatynski
c727942095
Autofocus correct composer after sending reaction (#7950) 2022-03-02 16:31:34 +00:00
Kerry
61cd463a3b
replace all require(svgs) with esm import (#7948)
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-02 17:14:33 +01:00
Suguru Hirahara
522ad1aafb
Make "Match system" on QuickThemeSwitcher.tsx translatable (#7951) 2022-03-02 16:10:14 +00:00
Michael Telatynski
a39473810a
Fix react warnings (#7946) 2022-03-02 14:29:45 +00:00
Michael Telatynski
3c858a723b
Fix sending locations into threads and fix i18n (#7943) 2022-03-02 14:27:16 +00:00
Michael Telatynski
0f4125dfd5
Consider polls as message events for rendering redactions (#7944) 2022-03-02 14:27:02 +00:00
Kerry
b480bffab0
Location share type UI (#7924)
* copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>

* empty line

Signed-off-by: Kerry Archibald <kerrya@element.io>

* functional picker

Signed-off-by: Kerry Archibald <kerrya@element.io>

* most style

Signed-off-by: Kerry Archibald <kerrya@element.io>

* nice style for options

Signed-off-by: Kerry Archibald <kerrya@element.io>

* get ShareType test passing

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add maplibre mock

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint and test

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add section to themes for location sharing cols

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add svg mock

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use same mock string as imageMock

Signed-off-by: Kerry Archibald <kerrya@element.io>

* newline

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add live location icon

Signed-off-by: Kerry Archibald <kerrya@element.io>

* rename useEnabledShareTypes

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use solid color for live border

* use ternary

Signed-off-by: Kerry Archibald <kerrya@element.io>

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-02 13:00:40 +00:00
Kerry
26216ec527
remove code related to encrypted file download button in iframe (#7940)
* remove code related to encrypted file download button in iframe

Signed-off-by: Kerry Archibald <kerrya@element.io>

* i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove getIframeFn in mfilebody filedownloader

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove iframe ref too

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-02 11:55:03 +00:00
Germain
d01ea1824b
[Update thread info after MSC3440 updates] (#7911) 2022-03-02 10:52:14 +00:00
Germain
3a82163127
Disable pending events in thread panel event timeline set (#7874) 2022-03-02 10:39:22 +00:00
Kerry
e6ea58e84d
Load icons using @svgr (#7928)
* extend svg module

Signed-off-by: Kerry Archibald <kerrya@element.io>

* POC in QuickSettingsButton

Signed-off-by: Kerry Archibald <kerrya@element.io>

* stylelint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* update copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove aria-hidden, quick docs

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-02 10:18:45 +01:00
Germain
d50dae5208
Decrypt thread last reply on EventTile mount and update (#7930)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-02 09:02:14 +00:00
Germain
cc389120c7
Render thread summary for events discovered on scrollback (#7925) 2022-03-02 09:02:06 +00:00
Suguru Hirahara
865dddbb62
Fix ExportDialog title on export cancellation (#7936) 2022-03-02 08:58:41 +00:00
Travis Ralston
31f0a37ca2
Fix js-sdk imports (#7938) 2022-03-01 23:51:05 +00:00
Michael Telatynski
f25e6813bb
Mandate use of js-sdk/src/matrix import over js-sdk/src (#7933) 2022-03-01 20:42:05 +00:00
Kerry
3f1951b5b8
Prep for pin drop location sharing (#7919)
* add labs flag feature_location_share_pin_drop

Signed-off-by: Kerry Archibald <kerrya@element.io>

* split LocationButton into two components

Signed-off-by: Kerry Archibald <kerrya@element.io>

* rethemendex

Signed-off-by: Kerry Archibald <kerrya@element.io>

* copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>

* one more (c)

Signed-off-by: Kerry Archibald <kerrya@element.io>

* i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>

* empty line

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use same matrix client import

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-01 18:00:07 +01:00
Šimon Brandner
8f128ef0dc
Expose redaction power level in room settings (#7599) 2022-03-01 16:41:58 +00:00
Šimon Brandner
928b086e05
Fix backspace not working in the invite dialog (#7931) 2022-03-01 16:35:48 +00:00
Michael Telatynski
7a32a68a0b
Fix right panel soft crashes due to missing room prop (#7923) 2022-03-01 11:15:23 +00:00
Kerry
36adba101c
fix color of location share caret (#7917)
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-01 08:53:28 +00:00
Kerry
4bf42babc7
dont re-prepare voice messages (#7897)
* dont reprepare voice messages

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove debug

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test Playback

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test RecordingPlayback

Signed-off-by: Kerry Archibald <kerrya@element.io>

* forgotten copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-01 09:43:32 +01:00
Michael Telatynski
16e67e7716
Wrap all EventTiles with a TileErrorBoundary and guard parsePermalink (#7916)
Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-03-01 08:41:48 +00:00
Michael Telatynski
482d756bd0
Ensure EventListSummary key does not change during backpagination (#7915) 2022-03-01 08:33:07 +00:00
Michael Telatynski
115e17b097
Fix positioning of the thread context menu (#7918) 2022-03-01 08:32:29 +00:00
Šimon Brandner
df591ee835
Make everything use the KeyBindingManager (#7907) 2022-02-28 16:05:52 +00:00
Michael Telatynski
5f8441216c
Disable creating polls within threads (#7914) 2022-02-28 15:34:30 +00:00
Robin
464bb727db
Update and expand ways to access pinned messages (#7906)
* Hide pinned messages header button when nothing is pinned

Signed-off-by: Robin Townsend <robin@robin.town>

* Add pinned messages option to room info panel

Signed-off-by: Robin Townsend <robin@robin.town>

* Add pinned messages option to room header menu

Signed-off-by: Robin Townsend <robin@robin.town>

* Make condition more concise

Signed-off-by: Robin Townsend <robin@robin.town>
2022-02-28 14:52:16 +00:00
Robin
33657947d3
Inject sender into pinned messages (#7904)
* Inject sender into pinned messages

Signed-off-by: Robin Townsend <robin@robin.town>

* Remove unused prop

Signed-off-by: Robin Townsend <robin@robin.town>
2022-02-28 14:47:14 +00:00
Michael Telatynski
75e41b4c1c
Basic threads analytics into Posthog MVP (#7871) 2022-02-28 14:11:14 +00:00
Robin
4ab59684c1
Clean up error listener when location picker closes (#7902)
Signed-off-by: Robin Townsend <robin@robin.town>
2022-02-25 11:21:48 -07:00
Robin
ece2b8572a
Fix edge case in context menu chevron positioning (#7899)
* Fix edge case in context menu chevron positioning

Signed-off-by: Robin Townsend <robin@robin.town>

* Expand context menu positioning regression tests

Signed-off-by: Robin Townsend <robin@robin.town>
2022-02-25 17:49:57 +00:00
Robin
76ca0362e1
Fix composer format buttons on WebKit (#7898) 2022-02-25 13:20:06 +00:00
Michael Telatynski
e762a6947d
Fix bug with useRoomHierarchy tight-looping loadMore on error (#7893) 2022-02-24 22:52:04 +00:00
Michael Telatynski
5167b30ee6
Fix upload button & shortcut not working for narrow composer mode (#7894) 2022-02-24 17:37:02 +00:00
Michael Telatynski
4629d1e4f6
Fix emoji insertion in thread composer going to the main composer (#7895) 2022-02-24 17:01:42 +00:00
Robin
85dc58a504
Try harder to keep context menus inside the window (#7863)
* Try harder to keep context menus inside the window

Signed-off-by: Robin Townsend <robin@robin.town>

* Use UIStore for window dimensions

Signed-off-by: Robin Townsend <robin@robin.town>

* Test ContextMenu positioning

Signed-off-by: Robin Townsend <robin@robin.town>
2022-02-24 10:25:27 -05:00
Kerry
6e143c313e
eslint to 8.9.0 (#7889)
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-24 15:54:06 +01:00
Michael Telatynski
c257bc3f7a
Prefer RoomStateEvent.Update where possible as it fires far less (#7878) 2022-02-24 14:39:25 +00:00
Faye Duxovni
36ae0ea49d
Fix styling on reset button in verification dialog (#7888) 2022-02-24 09:31:14 -05:00
Robin
c638af703e
Fix vanishing recently viewed menu (#7887)
Signed-off-by: Robin Townsend <robin@robin.town>
2022-02-24 07:55:57 -05:00
Michael Telatynski
fe2fceb0ba
Tidy up timelineRenderingType to be passed over context (#7872) 2022-02-24 11:25:13 +00:00
Kerry
f4cd71fd47
Check 'useSystemTheme' in quick settings theme switcher (#7809)
* mock Element.scrollIntoView in jest setup

Signed-off-by: Kerry Archibald <kerrya@element.io>

* extract theme switcher from quick settings, add match system option, test

Signed-off-by: Kerry Archibald <kerrya@element.io>

* i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>

* forgotten copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>

* stylelint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove old class

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-24 10:01:06 +01:00
Kerry
889b0cebb2
Fix 'my threads' filtering to include participated threads (#7882)
* move js utils into directory

Signed-off-by: Kerry Archibald <kerrya@element.io>

* typescripterize js test-utils

Signed-off-by: Kerry Archibald <kerrya@element.io>

* move test utils to directory

Signed-off-by: Kerry Archibald <kerrya@element.io>

* move remaining mock functions to directory

Signed-off-by: Kerry Archibald <kerrya@element.io>

* update imports

Signed-off-by: Kerry Archibald <kerrya@element.io>

* missed copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>

* threads test helpers

Signed-off-by: Kerry Archibald <kerrya@element.io>

* forgotten copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>

* comments

Signed-off-by: Kerry Archibald <kerrya@element.io>

* fix threads helper unsigned

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test filter creation when thread capabilities enabled

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-24 09:44:34 +01:00
David Baker
5c5dc69547
Remove log line to try to fix freeze on answering VoIP call (#7883)
The profiles point to some huge object being logged in VideoFeed's
playMedia() method, but this is the only log line added recently.
I can't see how this could possibly log anything huge, but not
sure what else to try, so let's try removing this as an experiment.
The bug it was added to diagnose seems to be fixed now anyway.

For https://github.com/vector-im/element-web/issues/21181
2022-02-23 19:10:36 +00:00
Travis Ralston
d71922ca51
Support social login & password on soft logout page (#7879)
* Code style: Modernize

* Make Soft Logout page support Social Sign On

Fixes https://github.com/vector-im/element-web/issues/21099

This commit does a few things:
* Moves rendering of the flows to functions
* Adds a new login view enum for Password + SSO (mirroring logic from registration)
* Makes an absolute mess of the resulting diff

* Lint & i18n

* Remove spurious typing
2022-02-23 16:22:37 +00:00
J. Ryan Stinnett
d8ac7cf202
Fix thread summary layout for narrow right panel timeline (#7838) 2022-02-23 14:03:46 +00:00
Šimon Brandner
93a9af7b3a
Keybinding code unification #3 (#7850) 2022-02-23 09:12:04 +00:00
Michael Telatynski
b0737b6e31
Throttle RoomState.members handlers (#7876) 2022-02-22 17:20:30 +00:00
Michael Telatynski
61b68252a6
Only show joined/invited in search dialog (#7875) 2022-02-22 16:23:51 +00:00
Germain
be9ae7ea03
Fix unexpected threads appearing in thread panel (#7873) 2022-02-22 16:03:05 +00:00
Michael Telatynski
7fa01ffb06
Improve typing around event emitter handlers (#7816) 2022-02-22 12:18:08 +00:00
Michael Telatynski
8fccef86d8
Wire up drag-drop file uploads for the thread view (#7860) 2022-02-22 11:14:56 +00:00
Michael Telatynski
2a55d22916
Wire up CallEventGroupers for Search Results (#7866) 2022-02-22 10:39:08 +00:00
Kerry
5b8d440406
type Actions (#7862)
* type ViewHomPage action

Signed-off-by: Kerry Archibald <kerrya@element.io>

* type spacestore actions

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* add action types

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use new action types in stores

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove debug change

Signed-off-by: Kerry Archibald <kerrya@element.io>

* stricter keyboard shortcut types

Signed-off-by: Kerry Archibald <kerrya@element.io>

* action comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-22 10:04:27 +00:00
Michael Telatynski
57595bc593
Fix misalignment with Event List Summaries (#7865)
* Fix misalignment with Event List Summaries

* simplify styling
2022-02-22 08:35:58 +00:00
Michael Telatynski
e2827b4082
Fix accessibility around the room list treeview and new search beta (#7856) 2022-02-21 15:46:13 +00:00
Andy Balaam
f1e1b7be86
Support "closed" polls whose votes are not visible until they are ended (#7842) 2022-02-21 10:21:35 +00:00
Kerry
fc9a221371
Focus trap in poll creation dialog (#7847)
* add autofocus

Signed-off-by: Kerry Archibald <kerrya@element.io>

* test

Signed-off-by: Kerry Archibald <kerrya@element.io>

* scope ids

Signed-off-by: Kerry Archibald <kerrya@element.io>

* whitespace

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-18 16:35:08 +00:00
Michael Telatynski
5f5bb4a4fe
Consolidate TileShape into TimelineRenderingType (#7843) 2022-02-18 15:56:05 +00:00
Šimon Brandner
ca89d3b96e
Fix editEvent() call (#7846)
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-02-18 15:15:18 +00:00
Šimon Brandner
fe7f1688dd
Move editEvent() to EventUtils (#7836) 2022-02-18 15:01:32 +00:00
Travis Ralston
34567b9aab
Add labs flag: Show only current profile on historical messages (#7815)
* Add labs flag: Show only current profile on historical messages

For https://github.com/vector-im/element-web/issues/3768
Related https://github.com/vector-im/element-web/issues/4677

* Use the member's user ID
2022-02-18 07:58:04 -07:00
J. Ryan Stinnett
acd051db43
Remove unused LeftPanel dimension tracking (#7845) 2022-02-18 14:46:33 +00:00
Travis Ralston
b756f03563
Keep unsent voice messages in memory until they are deleted or sent (#7840)
Fixes https://github.com/vector-im/element-web/issues/17979
2022-02-18 07:29:08 -07:00
Michael Telatynski
38a547b5d0
Remove ResizeObserver Polyfill (#7844) 2022-02-18 13:51:27 +00:00
Michael Telatynski
29c1c8d1e1
Fix ScrollPanel data-scrollbar not responding to window resizing (#7841) 2022-02-18 13:03:16 +00:00
Kerry
6fccd6b183
add cursor: pointer to actionable poll options (#7826)
* add cursor: pointer to actionable poll options

Signed-off-by: Kerry Archibald <kerrya@element.io>

* eof

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-18 11:43:07 +01:00
Johannes Krude
32e127e098
Add #/dm command to be used as a link in custom home.html (#7783) 2022-02-18 08:43:19 +00:00
Michael Telatynski
658590e5bc
More posthog tracking around joining rooms and room search (#7807) 2022-02-17 18:03:27 +00:00
Germain
e997676ae2
Opt out from check for pre-join UISI for threads (#7834) 2022-02-17 17:34:20 +00:00
J. Ryan Stinnett
a939184e10
Tear down AppTile using lifecycle tracking (#7833) 2022-02-17 16:30:36 +00:00
Michael Telatynski
07d5b4139d
Add way to join room address via new search dialog (#7830) 2022-02-17 15:40:12 +00:00
Germain
2160fd81c2
Fixes React.js console errors (#7829) 2022-02-17 11:46:19 +00:00
Andy Balaam
93d4364455
Prevent forwarding polls (#7819) 2022-02-17 10:57:12 +00:00
Michael Telatynski
4292381202
Fix layout inconsistencies with the room search minimized button (#7824) 2022-02-17 10:33:36 +00:00
Andy Balaam
7387f3c80a
Allow editing polls (#7806) 2022-02-17 09:13:05 +00:00
Travis Ralston
fa9af44523
Fix left panel widgets causing app crashes (again) (#7814)
* Add type safety around left panel widget handling

* lint
2022-02-16 13:26:18 -07:00
Travis Ralston
aba61fa390 Revert "Support refresh tokens (#7802)"
This reverts commit 839593412c.
2022-02-16 12:32:38 -07:00
J. Ryan Stinnett
0dc1355441
Fix right panel data flow (#7811) 2022-02-16 11:19:28 +00:00
Michael Telatynski
c2cf3a2d9e
Fix room create tile not showing up with hidden events shown (#7810)
* Replace m.room.create with enum

* Fix room create tile not showing up with hidden events shown
2022-02-15 21:05:41 +00:00
Travis Ralston
839593412c
Support refresh tokens (#7802)
MSC: https://github.com/matrix-org/matrix-doc/pull/2918
Fixes https://github.com/vector-im/element-web/issues/18698
Fixes https://github.com/vector-im/element-web/issues/20648
**Requires https://github.com/matrix-org/matrix-js-sdk/pull/2178**

**Note**: There's a lot of logging in this PR. That is intentional to ensure that if/when something goes wrong we can chase the exact code path. It does not log any tokens - just where the code is going. Overall, it should be fairly low volume spam (and can be relaxed at a later date).

----

This approach uses indexeddb (through a mutex library) to manage which tab actually triggers the refresh, preventing issues where multiple tabs try to update the token. If multiple tabs update the token then the server might consider the account hacked and hard logout all the tokens.

If for some reason the timer code gets it wrong, or the user has been offline for too long and the token can't be refreshed, they should be sent to a soft logout screen by the server. This will retain the user's encryption state - they simply need to reauthenticate to get an active access token again.

This additionally contains a change to fix soft logout not working, per the issue links above.

Of interest may be the IPC approach which was ultimately declined in favour of this change instead: https://github.com/matrix-org/matrix-react-sdk/pull/7803
2022-02-15 20:16:49 +00:00
Michael Telatynski
8d4e83084c
Remove Countly analytics integration (#7808) 2022-02-15 16:58:30 +00:00
Charlie Calendre
bb5f62edce
Fix add existing space not showing any spaces (#7801) 2022-02-15 13:53:20 +00:00
Michael Telatynski
0a084601c4
Abstract spotlight to allow non-room results too (#7804) 2022-02-15 13:36:32 +00:00
David Baker
5fe8442f44
Add an end-to-end test for stickers (#7733)
* Add an end-to-end test for stickers

* More logs on login

* Wait for spinners to go away

* Factor out spinner waiting as it seems useful

* Move stickers to the end

* More waiting

* When all else fails... add sleeps

* Waiting for the server picker to appear seems to work..?

* Typos

Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>

* remove commented code from registration usecase

Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-02-15 11:49:53 +00:00
Andy Balaam
84e15fa148
Display '(edited)' next to edited polls (#7789) 2022-02-15 08:52:51 +00:00
Michael Telatynski
6793ef33ba
Use the resize observer polyfill consistently (#7796) 2022-02-14 23:59:03 +00:00
Michael Telatynski
0cf15d27dc
Fix edge cases around event list summaries with hidden events and redactions (#7797) 2022-02-14 23:58:29 +00:00
Michael Telatynski
76fb2abae1
Consolidate, simplify and improve copied tooltips (#7799) 2022-02-14 23:54:46 +00:00
Michael Telatynski
8d3c2eddd6
Improve styling of edge case devtools state keys (#7794) 2022-02-14 23:37:45 +00:00
Michael Telatynski
401e5127f4
Don't scroll to bottom when executing non-message slash commands (#7793) 2022-02-14 23:36:06 +00:00
Michael Telatynski
cfa6e266cd
Wire up new fields on the ViewRoom posthog event and more interactions (#7787) 2022-02-14 19:31:13 +00:00
Michael Telatynski
ac6a356027
End-to-end test alias publishing flow (#7779) 2022-02-11 11:37:31 +00:00
Šimon Brandner
73899bb2e3
Switch to IPC channel for getDesktopCapturerSources (#7782) 2022-02-11 10:41:15 +00:00
Germain
15a9303d29
Improve thread partitioning for 2nd degree relations (#7748) 2022-02-10 15:18:55 +00:00
Michael Telatynski
87ca70edb1
Switch to web-specific screens and $pageview event (#7777) 2022-02-10 14:38:31 +00:00
Michael Telatynski
0d6ef76605
Add analytics for the ViewRoom action (#7666) 2022-02-10 14:29:55 +00:00
Michael Telatynski
20e9d0c159
Wire up more posthog properties and interactions (#7763) 2022-02-10 13:53:07 +00:00
Michael Telatynski
7668984ee4
Properly recurse subspaces for leave space dialog options (#7775) 2022-02-10 13:11:28 +00:00
Michael Telatynski
f6565bfbc8
Send how many favorited rooms a user has to Posthog (#7772) 2022-02-10 10:02:34 +00:00
Charlie Calendre
8103e606c4
Fix translation for keyboard shortcut displaynames (#7758) 2022-02-10 09:11:35 +00:00
Michael Telatynski
2f7b26214d
Fix sort order for facepiles which was exactly reverse (#7771) 2022-02-10 09:06:45 +00:00
Michael Telatynski
7c344a2157
Fix state events being wrongly hidden when redacted (#7768) 2022-02-10 09:05:58 +00:00
Michael Telatynski
e2196a8731
Event List Summary guard against missing event senders (#7767) 2022-02-10 09:03:44 +00:00
Kerry
818fddd72c
Add customisation point to disable space creation (#7766)
* mock matchMedia in jest setup

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use UIComponent.CreateSpaces in space panel

Signed-off-by: Kerry Archibald <kerrya@element.io>

* lint

Signed-off-by: Kerry Archibald <kerrya@element.io>

* hide add space in spacecontextmenu

Signed-off-by: Kerry Archibald <kerrya@element.io>

* use UIComponent customistations in space oom view add space button

Signed-off-by: Kerry Archibald <kerrya@element.io>

* copyright

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-09 17:21:40 +01:00
Michael Telatynski
999e1b7421
Wire up bunch of interaction events into Posthog (#7707) 2022-02-09 14:42:08 +00:00
Michael Telatynski
5620b83d34
Wire up more Posthog tracking (#7689) 2022-02-09 14:25:58 +00:00
Charlie Calendre
254dbeeccb
Fix all settings button opening sidebar settings tab (#7765) 2022-02-09 12:09:52 +00:00
Michael Telatynski
714136d4f7
Consolidate RedactionGrouper and HiddenEventGrouper into MELS (#7739) 2022-02-09 10:51:12 +00:00
J. Ryan Stinnett
59cdd3edc0
Unify widget header actions with those in right panel (#7734) 2022-02-09 10:47:41 +00:00
Michael Telatynski
91ccbe4395
Add way to track posthog user properties and send numSpaces (#7716) 2022-02-09 09:21:56 +00:00
Michael Telatynski
2b72a2cc2f
Fix view source and devtools showing hljs warnings (#7759) 2022-02-09 09:09:06 +00:00
Michael Telatynski
09b88d1fbe
Fix add existing space not showing any spaces (#7751) 2022-02-08 19:25:08 +00:00
Šimon Brandner
f13329213d
Handle highlight notifications in timeline card button (#7762) 2022-02-08 19:03:15 +00:00
Michael Telatynski
4394c162db
Inhibit Room List keyboard pass-thru when the search beta is enabled (#7752) 2022-02-08 18:31:37 +00:00
Šimon Brandner
479e7e9a25
Add unread notification dot to timeline card button (#7749) 2022-02-08 17:37:03 +00:00
J. Ryan Stinnett
bf8438cbb2
Add jump to bottom button for right panel timeline (#7746) 2022-02-08 17:35:03 +00:00
Charlie Calendre
0a45ae0781
Fix space member list not opening (#7747) 2022-02-08 16:41:26 +00:00
Michael Telatynski
760446c087
Null-guard ELS from null summaryMembers (#7744) 2022-02-08 14:26:26 +00:00
Michael Telatynski
ed185240a5
Move new search experience to a Beta (#7718) 2022-02-08 14:02:36 +00:00
Kerry
30d1ac1eea
unit test basic paths in UserInfo (#7740)
* unit test main paths in UserInfo component

Signed-off-by: Kerry Archibald <kerrya@element.io>

* one more test case

Signed-off-by: Kerry Archibald <kerrya@element.io>

* remove BasicUserInfo export

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-02-08 12:14:52 +00:00
Germain
af0b21de9d
Improved way to retrieve event sender for thread summary (#7732) 2022-02-08 12:08:47 +00:00
Michael Telatynski
773c7f46b7
Tune aria-live regions around clocks/timers (#7735) 2022-02-08 11:20:03 +00:00
Michael Telatynski
4501308b47
Fix instances of decorated room avatar wrongly having their own tabIndex (#7730) 2022-02-08 09:17:08 +00:00
Aaron Raimist
5278679076
Capitalize "Privacy" in UserMenu (#7738) 2022-02-08 08:31:51 +00:00
Šimon Brandner
8e72118b5d
Auto select "Other homeserver" when user press "Edit" in homeserver field (#7337) 2022-02-07 17:50:25 +00:00
Germain
544957bdad
Use typographical quotes in no threads UI (#7713) 2022-02-07 15:13:34 +00:00
Michael Telatynski
ec92102fe3
Properly handle persistent widgets when room is left (#7724) 2022-02-07 14:40:22 +00:00
Michael Telatynski
d72469663d
Add unread badges and avatar decorations to spotlight search (#7696) 2022-02-07 13:50:04 +00:00
Michael Telatynski
30e80aa87d
Null guard space hierarchy (#7729) 2022-02-07 13:48:35 +00:00
Michael Telatynski
5d89230271
Remove IA 1.1 feedback toast (#7720) 2022-02-07 12:46:48 +00:00
Šimon Brandner
472115cd9c
Fix add existing rooms button (#7728) 2022-02-07 10:19:14 +00:00
David Baker
3f789d32c1
Add logging to diagnose no-video bug (#7721)
Log in/outbound RTP stats so we can see ifn we're sending & receiving
video, and log when we successfully play the video element.
2022-02-04 14:02:56 +00:00
Šimon Brandner
ddb15cb19e
Bypass rageshake when warning about devtools (#7717) 2022-02-04 13:30:18 +00:00
Michael Telatynski
78373e86ea
Truncate long server names on login/register screen (#7702)
Co-authored-by: Aaron Raimist <aaron@raim.ist>
2022-02-04 10:20:20 +00:00
Šimon Brandner
2e19f81bd5
Hide composer buttons if we can't send events (#7719) 2022-02-04 09:36:31 +00:00
Germain
df86678798
Update to thread UI (#7714) 2022-02-03 16:24:49 +00:00