Commit Graph

41004 Commits

Author SHA1 Message Date
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
Travis Ralston
5b592eca4f Step 10.3: Use module replacement to achieve component overrides
This is the same system as the customisations override, however deliberately using a different JSON file to avoid conflicts. 

Forks would be expected to use the customisations file, not the components file, to override/add components.
2022-03-28 13:02:50 -06:00
Travis Ralston
5459c1eb96 Step 10.2: Move hacky welcome page replacement to react-sdk 2022-03-28 13:02:50 -06:00
Travis Ralston
0bcb1d18ce Step 10.1: Ensure the js-sdk browser bundle gets pulled
We no longer have implicit imports which would have called this path, so manually call it. We have to disable lint as it doesn't like us doing this, but we only end up with a single entry point.
2022-03-28 13:02:50 -06:00
Travis Ralston
384903361d Step 4: Disable/remove bulk of skinner code 2022-03-28 13:02:50 -06:00
Travis Ralston
585c777878 Step 3.2: Stop using getComponent 2022-03-28 13:02:50 -06: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