Commit Graph

346 Commits

Author SHA1 Message Date
Timo K.
b0d098e065 Merge branch 'main' into toger5/add-key-rotation-participant-limit 2026-08-28 15:27:43 +02:00
Robin
ede29bdf1b Remove MatrixRTC legacy mode
This is the mode in which we sent membership events with the 'oldest membership' transport selection algorithm, which stopped being the default back in version 0.21.0. Users will no longer be able to select this mode in developer settings, and admins will no longer be able to select legacy mode through the config either. The app will still continue to support *receiving* membership events with the 'oldest membership' transport selection algorithm from others, however.
2026-08-26 19:51:12 +02:00
Robin
21ca382306 Fix tests 2026-08-26 19:14:19 +02:00
Robin
0443ef55d1 Remove feature_use_device_session_member_events
Support for events with an array of memberships from different devices was removed over a year ago in matrix-js-sdk ffd3c9575e9def576739baf6b1dc329b0db55c0c.
2026-08-26 17:05:38 +02:00
Timo K.
5399f14012 add tests 2026-08-25 22:43:15 +02:00
Robin
1c03ad335c Hide reactions interface in PiP mode 2026-08-19 17:44:45 +02:00
Robin
a1b37bb3c9 Performance: Ignore redundant layout updates
When someone starts or stops speaking, the layout will often be recomputed only to find out that there is ultimately no layout change. We can ignore these redundant updates to avoid re-rendering the InCallView and Grid components, which are relatively slow.

For that specific, common case, this reduces JS CPU usage by as much as 70% in my testing.
2026-08-18 08:42:59 +02:00
Timo K.
9857ed53e3 Add key roatation limit to config.json 2026-08-17 11:17:22 +02:00
Timo K.
0aa9d94826 add key rotation debug information 2026-08-17 11:17:22 +02:00
Robin
7ca68fb5bd Merge branch 'livekit' into valere/rtc/remove_well_known_fallback 2026-08-11 12:29:36 +02:00
Timo
72e7e0f406 Merge pull request #3736 from emmick4/livekit
feat: advanced media quality settings UI and config-driven defaults
2026-08-11 12:27:12 +02:00
Robin
7ca8059b0f Remove unused access token mocks 2026-08-10 17:10:31 +02:00
Timo K.
29ea90f800 add rageshake metadata and log 2026-08-10 15:48:53 +02:00
Robin
426ea30fe1 Remove all references to .well-known transport advertisement 2026-08-10 15:10:49 +02:00
Robin
7d6a0da6a9 Remove outdated tests 2026-08-10 14:33:14 +02:00
Robin
ea31f073a7 Merge branch 'valere/widget_rtc_transport_action' into valere/rtc/remove_well_known_fallback 2026-08-10 14:32:44 +02:00
Robin
341c508a42 Remove outdated tests 2026-08-10 13:22:37 +02:00
Robin
14fd8c179b Fix formatting 2026-08-10 12:55:29 +02:00
Ryan Emmick
f7cf674152 Merge remote-tracking branch 'upstream/livekit' into livekit 2026-08-05 11:55:38 -05:00
Valere
9d5ca297e3 Remove well-known discovery 2026-08-05 16:12:41 +02:00
Valere
ffb6b0a5f6 Use rtc transport action with widgets 2026-07-30 10:43:09 +02:00
Robin
5a96d1769e Only show layout switch when it has an effect on the layout 2026-07-28 15:06:15 +02:00
Robin
a443a55bec Factor out a layout switch view + view model
So it can easily be shown and hidden wholesale.
2026-07-28 15:06:15 +02:00
Robin
7962d02be5 Prefer grid mode in landscape on mobile 2026-07-28 11:56:01 +02:00
Robin
aa6732da19 Use an actual one-on-one layout in landscape on mobile 2026-07-28 11:53:26 +02:00
Robin
0b21cff020 Rename one-on-one layouts to be orientation-agnostic 2026-07-27 18:28:52 +02:00
Robin
062e0a00fb Remove unused variables from CallViewModel tests 2026-07-27 18:13:51 +02:00
Robin
32e30dd4f5 Merge branch 'livekit' into mobile-gradient 2026-07-09 12:56:28 +02:00
Timo K.
2b84c587f2 lint 2026-07-07 19:45:22 +02:00
Timo K.
a6921e2bfb all the other logs 2026-07-07 19:12:11 +02:00
Timo K.
3cc396f42c fix getChild before rageshake setup 2026-07-07 19:05:10 +02:00
Robin
900d0abd27 Let page background shine through the footer
By visually separating it from other page content with an additional gradient background only when necessary.
2026-06-30 16:29:20 +02:00
Robin
8ab7f89e36 Hide local tile from mobile voice calls in landscape orientation
To match the designs. Just like in portrait, it wouldn't contribute anything meaningful.
2026-06-25 20:29:24 +02:00
Johannes Marbach
5ad62c7097 Merge pull request #4053 from element-hq/johannes/oxlint
Switch from eslint to oxlint
2026-06-25 15:46:05 +02:00
Johannes Marbach
1cd2764eb2 Switch from eslint to oxlint 2026-06-23 15:13:46 +02:00
Johannes Marbach
3fb81032e0 Merge pull request #4054 from element-hq/johannes/pip-border
Add PiP border in 1on1 layouts
2026-06-23 12:38:24 +02:00
Johannes Marbach
93fae5dd67 Add PiP border in 1on1 layouts
Fixes: #4008
2026-06-23 08:56:41 +02:00
Robin
504888b359 Show the subtitle of the app bar on small screens
Previously we were hiding the entire app bar on mobile phones in landscape orientation. However now that the app bar supports a small 'subtitle' element, we should show only the subtitle in this case to match the designs.

The subtitle still hides on tap, just like the footer.
2026-06-22 18:21:17 +02:00
Robin
a456e47796 Show ringing status even on spotlight tiles (except in app bar mode) 2026-06-22 12:55:37 +02:00
Robin
22ff0d34b7 Merge branch 'livekit' into header-subtitle 2026-06-22 11:35:52 +02:00
Robin
96d1d1e1aa Merge pull request #4040 from element-hq/scope-leak-lint
Add lint rule to prevent ObservableScope resource leaks
2026-06-22 11:13:10 +02:00
Robin
f78f507745 Address remaining resource leak error 2026-06-22 10:53:08 +02:00
Robin
89c148a530 Update remaining variable names for remote Matrix-LiveKit members 2026-06-22 10:44:24 +02:00
Robin
e11c04ac87 Move ringing status indicator to header on mobile
On mobile, the ringing status indicator is supposed to display in the header rather than on a tile. The exact layout differs between Android and iOS. To get it right I had to refactor AppBar to use CSS grid templates.

(Also, I changed my mind about the exact ringing data I needed out of CallViewModel - sorry. A little move of the ringtone audio renderer into its own component was necessary to accommodate that.)
2026-06-18 17:41:35 +02:00
Robin
e77d143ce1 Clarify which Matrix-LiveKit members are remote
It was rather confusing that matrixLivekitMembers$ gives you objects of type RemoteMatrixLivekitMembers and yet the *local* member would often be among these. I've attempted to clear this up. To my knowledge this wasn't creating any bugs.
2026-06-18 12:10:32 +02:00
Robin
6af72f4c90 Format 2026-06-18 11:42:02 +02:00
Robin
05797097c6 Only consider a call accepted if the *intended* recipient picks up 2026-06-18 11:05:55 +02:00
Robin
8cda9777a5 Merge branch 'livekit' into ringing-intent 2026-06-18 06:41:17 +02:00
Robin
3ef3ebe897 Merge pull request #4036 from element-hq/metadata-leak
Fix a minor resource leak with display names and avatars
2026-06-12 10:05:50 +02:00
Timo
0c284ed75b Merge pull request #4004 from element-hq/toger5/controls-api-onPipMediaOrientation
Controls api `onPipMediaOrientation`
2026-06-12 16:03:35 +08:00