Commit Graph

3461 Commits

Author SHA1 Message Date
Timo K.
88e5a5badb More resolution tests. 2026-08-10 14:21:49 +02:00
Robin
296c735500 Merge branch 'livekit' into valere/widget_rtc_transport_action 2026-08-10 13:43:42 +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
Robin
a6a02778a1 Performance: Avoid re-rendering entire spotlight layout so often
This removes a lot of unnecessary jank in spotlight layout when swapping individual speakers in and out of the spotlight tile.
2026-08-10 11:16:35 +02:00
Ryan Emmick
87aee1c02c test: update developer settings snapshot after merge 2026-08-05 12:05:41 -05: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
Robin
c90d1d8dda Expand GridTile test coverage 2026-08-05 12:08:18 +02:00
Robin
dd59519a85 Performance: Disable animations when there are a large number of tiles
I don't believe this affects the cost of running the useSprings hook, but it at least skips the animation frames that would otherwise follow, so it's worth a try.
2026-08-05 11:49:55 +02:00
Robin
33fc8997f8 Performance: Use a shared timer for polling RTP stats
This is now only relevant in case the user has enabled the developer option to show advanced media statistics, but still an easy performance fix.
2026-08-05 11:18:25 +02:00
Robin
8aead74ab9 Performance: Lower the RTP stats refresh interval
Because we no longer use it for computing the fit to frame setting; it's only for developer tools.
2026-08-05 11:18:22 +02:00
Robin
1e128c4da0 Performance: Fit video to frame without polling RTP stats
It turns out that the timers which repeatedly poll the RTP stats of each video track all run independently of each other and can add up to a small but constant sink of CPU. Meanwhile we can replace these timers with HTMLVideoElement 'resize' event listeners, which is way more efficient and reacts instantly to orientation changes.
2026-08-05 11:18:22 +02:00
Robin
9d400323d0 Clarify why certain tests disable the React Compiler 2026-08-05 10:54:49 +02:00
Robin
e1df71817a Performance: Avoid re-rendering context menus so often
A change in a tile's speaking indicator could cause its entire tree of context menu components to re-render, which is expensive. Isolating the behavior subscriptions in their own component avoids this.
2026-08-04 17:57:25 +02:00
Robin
608695fc95 Performance: Enable React Compiler
With the React Compiler, our component code is transformed at build time to automatically apply various forms of memoization. This changes the runtime semantics of our code a little bit and therefore could surface new bugs in the next release cycle in case any components fail to follow the rules of React. See https://react.dev/learn/react-compiler for more information.

This results in a small bundle size increase and modest performance gains, but I think it's worth it given the potential for larger performance gains once we tune the component structure a bit more.
2026-08-04 17:57:23 +02:00
Robin
3af0744324 Merge branch 'livekit' into renovate/all-minor-patch 2026-08-04 14:20:13 +02:00
Robin
07567ed31d Merge pull request #4118 from element-hq/renovate/livekit-components
Update LiveKit components
2026-08-04 14:05:47 +02:00
Robin
d6e097476e Address linter finding 2026-08-04 13:51:56 +02:00
Robin
540eb306f4 Fix unit tests 2026-08-04 13:48:52 +02:00
Robin
f62428ba0d Update code formatting 2026-08-04 13:43:38 +02:00
Valere Fedronic
4fbcbb4849 Merge pull request #4136 from element-hq/valere/fix_4132
fix: FF mirrored self video lose rounding
2026-08-03 13:53:04 +02:00
Robin
11a6fa9b45 Fix tests 2026-08-03 10:32:52 +02:00
Robin
507a6f29a5 Merge branch 'livekit' into defaut-server-config 2026-08-03 10:29:41 +02:00
Valere
e1bc4a096b fix: FF mirrored self video lose rounding 2026-07-31 12:20:32 +02:00
Valere
ffb6b0a5f6 Use rtc transport action with widgets 2026-07-30 10:43:09 +02:00
Robin
2de7fdde10 Fix layout switches not showing their state on the combined docs page
On the combined Storybook docs page for the call footer, the layout switches would not show the correct state until you hovered over them because they all shared the same input name and thus were interpreted as belonging to the same radio group.
2026-07-28 15:06:15 +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
9b2d9fdd1f Merge pull request #4129 from element-hq/landscape-default-grid
Prefer grid mode in landscape on mobile
2026-07-28 14:29:30 +02:00
Robin
05ad9b2475 Merge pull request #4128 from element-hq/landscape-default-grid
Use a proper one-on-one layout for landscape mobile calls
2026-07-28 14:08:48 +02:00
Robin
7962d02be5 Prefer grid mode in landscape on mobile 2026-07-28 11:56:01 +02:00
Robin
5c35288162 Turn the local video tile landscape in landscape mobile one-on-one calls 2026-07-28 11:53:26 +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
Valere
53ae78c609 break ratio when tile bigger than screen 2026-07-27 17:25:56 +02:00
Valere
b046c4b569 fix: Safari preview tile no video is 16px wide only 2026-07-27 15:43:35 +02:00
Robin
d33dedd038 Hide the browser's default placeholder image for videos
Source: https://stackoverflow.com/a/79058682
2026-07-15 17:26:02 +02:00
Robin
cd72ad0008 Create service interruptions view model 2026-07-14 12:02:36 +02:00
Robin
2d2e85e340 Merge pull request #4107 from element-hq/spotlight-icon
Update spotlight icon
2026-07-14 09:34:50 +02:00
Robin
c433c36687 Update snapshots 2026-07-13 18:20:56 +02:00
Robin
bff41ad66a Update spotlight icon 2026-07-13 12:22:44 +02:00
Timo
f23eb96555 Merge pull request #4025 from mvanhorn/fix/3915-settings-tabbar-announce-position
fix: announce tab count and position in settings tab bar
2026-07-13 10:16:52 +02:00
Robin
0afefa4889 Merge branch 'livekit' into remove-stopgap-styles 2026-07-09 16:21:06 +02:00
Robin
8d826b2f31 Avoid showing gradients in especially small windows 2026-07-09 12:59:29 +02:00
Robin
32e30dd4f5 Merge branch 'livekit' into mobile-gradient 2026-07-09 12:56:28 +02:00
Robin
bb06905aa2 Merge pull request #4099 from element-hq/stable-class-names
Use vitest's default for scoped class names
2026-07-09 12:54:19 +02:00
Robin
2684fa1d62 Remove unused class for end call button 2026-07-09 12:46:45 +02:00
Robin
de75a69cad Remove stopgap color variables from previous design system
They have been largely unused for a long time. This changes the colors of checkboxes and the 'end call' button to align with current designs as well.
2026-07-09 12:28:39 +02:00