Robin
b114c5e239
Improve performance of switching to rooms with lots of servers and ACLs ( #8347 )
...
* Improve performance of switching to rooms with lots of servers and ACLs
By not processing the *entire* list of servers and ACLs when determining
how to create permalinks, this shaves ~100 ms off of switches into
high-traffic rooms.
* Fix lint
* Ensure that permalink server candidates can't be duplicates
2022-04-17 16:50:03 +00:00
Šimon Brandner
11e0a3a8fa
Enable the message right-click context menu in the browser ( #8336 )
...
* Enable the message right-click context menu in the browser
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
* Move `getSelectedText()` to `strings.ts`
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
* Move `canCancel()` to `EventUtils.ts`
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com >
2022-04-15 12:12:40 -06:00
Robin
7335b35fbb
Avoid looking up settings during timeline rendering ( #8313 )
...
* Avoid showHiddenEventsInTimeline lookups
* Avoid MSC3531 feature lookups
* Test that showHiddenEventsInTimeline doesn't get looked up while
rendering
* Fix code review nits
Co-authored-by: Travis Ralston <travisr@matrix.org >
2022-04-14 23:23:22 +00:00
Robin
f27386ec37
Fix a soft crash with video rooms ( #8333 )
2022-04-14 18:13:00 -04:00
Germain
a63449acdd
Extract start DM logic to a helper file ( #8317 )
...
* Extract start DM logic to a helper file
* Fix incorrect import
2022-04-14 16:52:12 +01:00
Kerry
f95106d2c6
Live location sharing - basic maximised beacon map ( #8310 )
...
* open a dialog with map centered around first beacon
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add room member markers
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix unmount issue in smart marker
Signed-off-by: Kerry Archibald <kerrya@element.io >
* dont throw on no more live locations
Signed-off-by: Kerry Archibald <kerrya@element.io >
* cursor on beacon maps
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fussy import ordering
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test dialog opening from beacon body
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test beaconmarker
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test BeaconViewDialog
Signed-off-by: Kerry Archibald <kerrya@element.io >
* comment
Signed-off-by: Kerry Archibald <kerrya@element.io >
* use unstable prefix for wk tile_Server
Signed-off-by: Kerry Archibald <kerrya@element.io >
* unstable prefix for new m.tile_server use in test
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-04-14 13:14:05 +00:00
Michael Telatynski
d151365fd7
Stop tracking threads if threads support is disabled ( #8308 )
2022-04-13 16:41:40 +01:00
Kerry
e59edb7101
Live location sharing - beacon in timeline happy path ( #8285 )
...
* extract location markers into generic Marker
Signed-off-by: Kerry Archibald <kerrya@element.io >
* wrap marker in smartmarker
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test smartmarker
Signed-off-by: Kerry Archibald <kerrya@element.io >
* working map in location body
Signed-off-by: Kerry Archibald <kerrya@element.io >
* remove skinned sdk
Signed-off-by: Kerry Archibald <kerrya@element.io >
* use new ZoomButtons in MLocationBody
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test LocationViewDialog
Signed-off-by: Kerry Archibald <kerrya@element.io >
* update commentt
Signed-off-by: Kerry Archibald <kerrya@element.io >
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io >
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io >
* extract livetimeremaining into own component
Signed-off-by: Kerry Archibald <kerrya@element.io >
* extract more beacon state utils
Signed-off-by: Kerry Archibald <kerrya@element.io >
* update tests for roomlivesharewarning
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add idle status to live beacon icon
* add beacon map and status chin
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add handling for bubbles
Signed-off-by: Kerry Archibald <kerrya@element.io >
* tests for BeaconBody
Signed-off-by: Kerry Archibald <kerrya@element.io >
* i18n
Signed-off-by: Kerry Archibald <kerrya@element.io >
* move displaystatus check up to mbeaconbody
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test BeaconStatus
Signed-off-by: Kerry Archibald <kerrya@element.io >
* rename BeaconStatusChin -> BeaconStatus
Signed-off-by: Kerry Archibald <kerrya@element.io >
* make BeaconStatus generic
Signed-off-by: Kerry Archibald <kerrya@element.io >
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io >
* adjust spinner size
Signed-off-by: Kerry Archibald <kerrya@element.io >
* polish and copyrights
Signed-off-by: Kerry Archibald <kerrya@element.io >
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io >
* better comment
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-04-13 10:44:15 +02:00
Janne Mareike Koschinski
dbcb56f75e
Fix: Avatar preview does not update when same file is selected repeatedly ( #8288 )
...
* Fix: Avatar preview does not update when same file is selected repeatedly
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com >
2022-04-12 14:21:17 +02:00
Kerry
661e2c2aa5
Live location sharing - beacon map in timeline ( #8286 )
...
* add displaystatus util
Signed-off-by: Kerry Archibald <kerrya@element.io >
* map fallback svg
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add Map to mbeaconbody
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add bubble layout handling
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test beaconbody
Signed-off-by: Kerry Archibald <kerrya@element.io >
* typo
Signed-off-by: Kerry Archibald <kerrya@element.io >
* use randomString from js-sdk
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-04-12 09:13:55 +01:00
Kerry
9ba55d1d14
Live location sharing - consolidate maps ( #8236 )
...
* extract location markers into generic Marker
Signed-off-by: Kerry Archibald <kerrya@element.io >
* wrap marker in smartmarker
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test smartmarker
Signed-off-by: Kerry Archibald <kerrya@element.io >
* working map in location body
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test Map
Signed-off-by: Kerry Archibald <kerrya@element.io >
* remove skinned sdk
Signed-off-by: Kerry Archibald <kerrya@element.io >
* update snaps with new mocks
Signed-off-by: Kerry Archibald <kerrya@element.io >
* use new ZoomButtons in MLocationBody
Signed-off-by: Kerry Archibald <kerrya@element.io >
* make LocationViewDialog map interactive
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test MLocationBody
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test LocationViewDialog
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add copyrights, shrink snapshot
Signed-off-by: Kerry Archibald <kerrya@element.io >
* update comment
Signed-off-by: Kerry Archibald <kerrya@element.io >
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io >
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-04-11 18:40:06 +02:00
Kerry
b760ec9392
Location sharing - extract isSelfLocation util ( #8279 )
...
* extract isSelfLocation into utils
Signed-off-by: Kerry Archibald <kerrya@element.io >
* replace use of isSelfLocation
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-04-11 13:58:35 +02:00
Kerry
aecd71ad15
Live location sharing - update beacon tile with latest location ( #8265 )
...
* add useBeacon hook
Signed-off-by: Kerry Archibald <kerrya@element.io >
* update message tile types to work with function comp with ref
Signed-off-by: Kerry Archibald <kerrya@element.io >
* use beacon hook in beacon body
Signed-off-by: Kerry Archibald <kerrya@element.io >
* update beacon body with (textual) latest locations, test
Signed-off-by: Kerry Archibald <kerrya@element.io >
* language in comment
Signed-off-by: Kerry Archibald <kerrya@element.io >
* comments
Signed-off-by: Kerry Archibald <kerrya@element.io >
* copyright
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-04-11 09:16:32 +00:00
Kerry
94385169f1
Live location sharing - smart location marker ( #8232 )
...
* extract location markers into generic Marker
Signed-off-by: Kerry Archibald <kerrya@element.io >
* wrap marker in smartmarker
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test smartmarker
Signed-off-by: Kerry Archibald <kerrya@element.io >
* remove skinned-sdk
Signed-off-by: Kerry Archibald <kerrya@element.io >
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io >
* better types for LocationBodyContent
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-04-11 10:29:24 +02:00
Travis Ralston
1db805bbdc
Fix reporting events not working ( #8257 )
...
* Fix report dialog not working
During the removal of skinning the dialog opener was moved, but the wrong property was given.
* Log errors out of the report event dialog
So we can actually see them in rageshakes
2022-04-08 08:19:14 -06:00
Kerry
f63923d60f
Live location sharing - add configs to render beacon_info in timeline ( #8251 )
...
* add configs to render beacon_info in timeline
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix copyright
Signed-off-by: Kerry Archibald <kerrya@element.io >
* one more comment
Signed-off-by: Kerry Archibald <kerrya@element.io >
* update beacon identifier
Signed-off-by: Kerry Archibald <kerrya@element.io >
* use special case for beacon_info tile mapper
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-04-08 09:05:26 +00:00
Kerry
03d0969ae3
Live location sharing - update beacon_info implementation to latest MSC ( #8256 )
...
* update calls to set and createLiveBeacon
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix stop beacon
Signed-off-by: Kerry Archibald <kerrya@element.io >
* remove variable event type from beacon utils
Signed-off-by: Kerry Archibald <kerrya@element.io >
* use beacon identifier
Signed-off-by: Kerry Archibald <kerrya@element.io >
* fix RoomLiveShareWarning tests
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add case for beacon update
Signed-off-by: Kerry Archibald <kerrya@element.io >
* lint
Signed-off-by: Kerry Archibald <kerrya@element.io >
* more lint
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-04-08 10:53:06 +02:00
Hugh Nimmo-Smith
457fc542da
Replace browser-encrypt-attachment with matrix-encrypt-attachment ( #7795 )
...
* Replace browser-encrypt-attachment with matrix-encrypt-attachment
matrix-encrypt-attachment is maintained and includes TS typings
* Upgrade matrix-encrypt-attachment to latest with default exports
2022-04-05 11:29:27 -06:00
Travis Ralston
4057833036
Merge branch 'develop' into travis/remove-skinning
2022-04-05 10:50:37 -06:00
Robin
1f64835fab
Update video rooms to new design specs ( #8207 )
...
* Remove radio component
* "Voice room" → "video room"
* Remove interactivity from video room tiles
* Update connection state when joining via widget
* Simplify room header buttons for video rooms
* Split out video room creation into a separate menu option
* Simplify room options for video rooms
* Update video room tile layout
* Tell the Jitsi widget whether it's a video channel
* Update tests
* "Voice" → "video" in more places
* Fix tests
* Re-add frame to immersive Jitsi widgets
* Comment ack
* Make updateDevices more readable
* Type FacePile
2022-04-01 14:36:10 +00:00
Travis Ralston
087c15171b
Convert function back to arrow function for consistency
2022-03-31 19:38:43 -06:00
Travis Ralston
71b356a9a4
Cast dispatcher payloads correctly when firing them
2022-03-31 19:38:00 -06:00
Travis Ralston
97efdf7094
Merge branch 'develop' into travis/remove-skinning
2022-03-31 19:25:43 -06:00
Michael Telatynski
17cfd45eb3
Fix explicit replies in threads ( #8210 )
2022-03-31 18:40:35 +01:00
Kerry
4922e19b5a
Live Location Sharing - left panel warning with error ( #8201 )
...
* add error style to left panel beacon warning
Signed-off-by: Kerry Archibald <kerrya@element.io >
* test
Signed-off-by: Kerry Archibald <kerrya@element.io >
* add beacon sort util
* link to latest beacon room from left panel warning
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-31 13:51:44 +02:00
Michael Telatynski
60ca8996d3
Fix issue with replying outside a thread to a thread root ( #8195 )
2022-03-30 16:53:15 +01:00
Michael Telatynski
e161f0b17b
Update more strings to not wrongly mention room when it is/could be a space ( #7722 )
2022-03-29 15:02:12 +01:00
Michael Telatynski
cd15e08fc2
Allow sending and thumbnailing AVIF images ( #8172 )
2022-03-29 00:03:41 -06:00
Travis Ralston
9a75acba17
Step 8.5: Move "add existing to space" dialog construction
2022-03-28 14:02:31 -06:00
Travis Ralston
cd98106afb
Step 8.5: Move call transfer invite dialog construction
2022-03-28 14:02:31 -06:00
Travis Ralston
528482f74d
Step 8.5: Move some space settings dialog construction
2022-03-28 14:02:31 -06:00
Travis Ralston
bcf413734b
Step 8.5: Move tabbed integration manager dialog construction
2022-03-28 14:02:31 -06:00
Travis Ralston
226700ba95
Step 8.5: Move report event dialog construction
2022-03-28 14:02:31 -06:00
Travis Ralston
8dab169c52
Step 8.5: Move forward dialog construction
2022-03-28 14:02:31 -06:00
Travis Ralston
51f90a1a73
Step 8.5: Move room settings opener to a DialogOpener
2022-03-28 14:02:31 -06:00
Travis Ralston
cfbad115c7
Step 8.5: Move event rendering utilities
2022-03-28 14:02:31 -06:00
Travis Ralston
fe032ed942
Step 8.5: Move specific image utilities out of ContentMessages
2022-03-28 14:02:31 -06:00
Travis Ralston
888d470c56
Step 8.5: Move various room utilities out of createRoom
2022-03-28 14:02:31 -06:00
Travis Ralston
1c8ac2c2e5
Step 8.5: Move leave behaviour
2022-03-28 14:02:31 -06:00
Travis Ralston
90270ee468
Step 8.5: Move room i18n helpers
2022-03-28 14:02:31 -06:00
Travis Ralston
1126fdbd99
Step 8.5: Move isLoggedIn helper
2022-03-28 14:02:31 -06:00
Travis Ralston
d5ed1eb66e
Step 8.3: Convert RoomViewStore to a more modern singleton for imports
2022-03-28 14:02:31 -06:00
Travis Ralston
9350c50f87
Step 6: Refactor event rendering to stop using getComponent
...
We move all of the event tile rendering into a factory manager for a couple reasons:
1. `EventTile` is uncomfortably large for a file
2. A simple map isn't possible anymore (can't convert the existing maps like `eventTileTypes` to `Record<string, typeof React.Component>` because the types are actually incompatible)
So, by having a factory manager place we can more easily render components without having to use `getComponent()` all over the place, and without lying to ourselves about how simple the event rendering path is.
This change also moves quite a bit of the rendering path into the new `EventTileFactory` file so it can be easily seen by future developers.
2022-03-28 14:02:31 -06:00
Travis Ralston
15b84bd9a6
Step 2: Remove the decorator
2022-03-28 14:02:31 -06:00
Robin
8baf06c3ff
Show voice room participants when not connected ( #8136 )
...
* Add utility for getting connected voice participants
* Allow voice room members to send connected device state
* Update connected devices when connecting/disconnecting voice
* Show voice room participants in room tile when not connected
* Update voice room tests
* Add null types and guards
2022-03-28 14:12:09 +01:00
Michael Telatynski
a3e5231873
Add support for Animated (A)PNG ( #8158 )
2022-03-28 09:38:54 +01:00
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
Kerry
0d513b3a2d
geo.getCurrentPosition and some testing helpers ( #8150 )
...
Signed-off-by: Kerry Archibald <kerrya@element.io >
2022-03-25 12:30:50 +01:00