Commit Graph

32062 Commits (7a1a2c41d2b1d8fb4e925dd428459e1e397848a1)

Author SHA1 Message Date
Germain c9ffea2b53
Make thread panel re-render the whole timeline on prop change (#8213) 2022-04-01 10:50:51 +01:00
Travis Ralston ac65e5fd2f Appease the linter 2022-03-31 19:52:26 -06:00
Travis Ralston 5137fcf3e8 Remove unit test function which isn't needed
The import ordering no longer requires us to create an injector function.
2022-03-31 19:43:17 -06: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 d5e70dfaa5 Add [matrix] replacement string to be backwards compatible with $matrixLogo change 2022-03-31 19:34:06 -06:00
Travis Ralston 59364ec177 Post-merge fixes 2022-03-31 19:32:49 -06:00
Travis Ralston 97efdf7094 Merge branch 'develop' into travis/remove-skinning 2022-03-31 19:25:43 -06:00
Michael Telatynski 04e79dffae
Fix editing <ol> tags with a non-1 start attribute (#8211) 2022-03-31 18:40:51 +01:00
Michael Telatynski 17cfd45eb3
Fix explicit replies in threads (#8210) 2022-03-31 18:40:35 +01:00
Germain f4c25e06cd
Fix notification dot for "Mentions & keywords" for thread messages (#8202) 2022-03-31 14:48:23 +01:00
Michael Telatynski 3b388b7fae
Use appropriate Member object when rendering thread summary (#8204) 2022-03-31 14:43:29 +01:00
Michael Telatynski 90527316cf
Don't try show saved thread panel state if threads is disabled (#8203) 2022-03-31 13:23:03 +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
Kerry 1175226bcb
Live location sharing - display wire error in room (#8198)
* expose wire errors in more useful way

* add wire error state to room live share warning bar

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

* stylelint

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

* add types to getLabel helper

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-31 10:57:12 +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
Kerry d09205122d
Live location sharing - Stop publishing location to beacons with consecutive errors (#8194)
* add error state after consecutive errors

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

* polish

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

* comment

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

* remove debug

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-30 14:01:44 +00:00
Germain 31cd7edd33
Reset room event_id fragment when ThreadView unmounts (#8186) 2022-03-30 14:20:20 +01:00
Kerry e721c6b0c2
Live location sharing: allow retry when stop sharing fails (#8193)
* allow retry when stop sharing fails

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

* tidy

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-30 12:31:19 +00:00
J. Ryan Stinnett 8058f812c2
Show room preview bar with maximised widgets (#8180) 2022-03-30 11:43:54 +00:00
Travis Ralston 5fa2ca83ac
Allow voice messages to be scrubbed in the timeline (#8079)
* Use SeekBar for voice messages + move seeking logic to base class

* Appease the linter

* Update tests
2022-03-29 14:07:35 -06:00
Kerry 2adc972eec
Live location sharing - stop sharing to beacons in rooms you left (#8187)
* remove beacons on membership changes

* add addMembershipToMockedRoom test util

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

* test remove beacons on membership changes

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

* removelistener

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-29 18:18:34 +02: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 c3e02b21cb
Fix issue with redacting via edit composer flow causing stuck editStates (#8184) 2022-03-29 13:33:11 +01:00
Kerry 69469e5a98
Live location sharing - update copy (#8177)
* update settings copy

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

* i18n

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-29 00:04:30 -06:00
Michael Telatynski cd15e08fc2
Allow sending and thumbnailing AVIF images (#8172) 2022-03-29 00:03:41 -06:00
Travis Ralston ea6e6429ee Step 11: Update i18n & code cleanup 2022-03-28 15:04:36 -06:00
Travis Ralston 63091e7b66 Step 10.2: Move matrix logo replacement into react-sdk 2022-03-28 14:33:28 -06:00
Travis Ralston 661b8d595c Step 8.7: Introduce `focus-visible` import where needed to repair tests
There is an import in `MatrixChat` which no longer gets executed when we don't skin the entire app, so bring it in manually.
2022-03-28 14:02:31 -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 3ab21224df Step 8.5: Move user tab enum 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 c8582c7199 Step 8.5: Move logout call during deactivation 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 f5e6cbafb2 Step 8.5: Move pinned events custom event type 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 4144d0ba57 Step 8.5: Isolate RightPanelStore from RoomViewStore 2022-03-28 14:02:31 -06:00
Travis Ralston 66401c844f Step 8.5: Move right panel context 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 211e00539a Step 8.5: Move call event type 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 56b099c171 Step 8.4.3: Improve PlaybackQueue listener efficiency 2022-03-28 14:02:31 -06:00
Travis Ralston d89fcf17fb Step 8.4.2: Refactor `ActiveRoomObserver` out of existence
The `RoomTile` was the last class to use it. Note that we also update the RVS to change its `instance` declaration type to fix a few tests.
2022-03-28 14:02:31 -06:00
Travis Ralston 109ecbf070 Step 8.4.1: Use `RoomViewStore` in SGWidgetDriver over `ActiveRoomObserver`
It wasn't using the listener functionality anyways, so just go straight to the source for which room is being viewed.
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 115ae198c8 Step 5: Fix newly-discovered TS issues 2022-03-28 14:02:31 -06:00
Travis Ralston 7e21da0c7f Step 4: Disable/remove bulk of skinner code 2022-03-28 14:02:31 -06:00
Travis Ralston b667ef9f18 Step 3.2: Stop using `getComponent` in code 2022-03-28 14:02:31 -06:00
Travis Ralston 15b84bd9a6 Step 2: Remove the decorator 2022-03-28 14:02:31 -06:00
Travis Ralston 997d6d40bf Step 1: Remove all usage of `@replaceableComponent` 2022-03-28 14:02:31 -06:00
Robin af6bd63ac7
Fix some image/video scroll jumps (#8182)
* Fix some image/video scroll jumps

* Fix aspect ratio formatting

* Fix videos not being responsive to timeline width
2022-03-28 19:07:02 +00:00
Yaya Usman afa60acbf1
Fix "react error on share dialog" (#8170)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-28 17:58:57 +01:00
Kerry d2b97e251e
Live location sharing - handle geolocation errors (#8179)
* display live share warning only when geolocation is happening

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

* kill beacons when geolocation is unavailable or permissions denied

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

* polish and comments

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-28 18:46:39 +02: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
Robin e02ab66884
Add margins between labs sections (#8169) 2022-03-28 08:16:08 -04:00
Germain 4f57a4661d
Add null-guard for appEvent in PersistentApp (#8175) 2022-03-28 12:41:14 +01:00
Kerry e9b2aea97b
Live location sharing - send geolocation beacon events - happy path (#8127)
* geolocation utilities

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

* messy send events

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

* add geolocation services

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

* geolocation tests

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

* debounce with backup emit every 30s

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

* import reorder

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

* some more working tests

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

* complicated timeout testing

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

* publish first location immediately

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

* move advanceDateAndTime to utils, tidy

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

* typos

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

* types and lint

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-28 10:48:38 +00:00
Suguru Hirahara f557ac9486
Responsive BetaCard on Labs (#8154) 2022-03-28 11:26:14 +01:00
Suguru Hirahara a7a0c55adf
Display button as inline in room directory dialog (#8164) 2022-03-28 10:02:32 +01:00
Michael Telatynski 190968c73c
Null guard TimelinePanel unmount edge (#8171) 2022-03-28 09:58:49 +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
Robin 3160442b8b
Floor media dimensions to prevent blurhash errors (#8157) 2022-03-25 16:40:49 +00:00
Michael Telatynski bc01efa124
Improve handling of animated GIF and WEBP images (#8153) 2022-03-25 16:31:40 +00:00
Travis Ralston 50fd24581c
Fix incorrect typing on SdkConfig defaults (#8147)
It's not a partial anymore - it's a full-fledged object with proper types.

Without this change, `SdkConfig.put(DEFAULTS)` is broken.
2022-03-25 09:13:26 -06: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
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 3b523677fd
Don't try (and fail) to show replies for redacted events (#8141) 2022-03-24 12:17:42 +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
Michael Telatynski eb668538aa
Fix issue with falsey hrefs being sent in events (#8113) 2022-03-23 13:38:57 +00:00
Michael Telatynski 81df4c0aeb
Maintain reply-to-event when clicking room permalink (#8114) 2022-03-23 13:38:21 +00:00
Travis Ralston ad130acd30
Remove unused component: SimpleRoomHeader (#8122) 2022-03-23 07:32:13 -06:00
Dominik Henneke 9ba1c97770
Generate the correct widget id when opening modal widgets (#8123) 2022-03-23 11:28:37 +00:00
Michael Telatynski d9276426fa
When showing thread, always auto-focus its composer (#8115) 2022-03-23 10:54:40 +00:00
Kerry a8d65ab5c5
Include /test in tsc config, fix rest of issues (#8119)
* fix ts issue in PosthogAnalytics test

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

* fix remaining ts issues

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

* tsconfig change

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

* use sdkconfig patch instead of put

Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-03-23 10:27:28 +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