Highlights
With this release, we're shipping a big round of changes to how tiles in the call interface are laid out. The theme here is to get the basics right, and we hope it shows! Notably:
- Tiles are now always sorted based on their importance; presenters and speakers will naturally rise to the top. This replaces the ability to rearrange tiles via drag-and-drop.
- In the spirit of getting the basics right, we've also removed the ability to expand tiles (for now?). We hope that the spotlight mode is able to fill this gap, now that it has fewer visual glitches and distracting animations.
- We've heard loud and clear that the call interface could do with less negative space. Between the new layout algorithms and reduced margins, you should see some improvements here.
- Lastly, the layouts on mobile devices have been redesigned from first principles to make better use of the limited screen space, for both small and large calls.
As always, we welcome feedback, and look forward to the incremental improvements we can now make more easily with this stronger foundation.
What's Changed
- Unified grid layout (#2325)
- Refactor settings to use observables (#2368)
- Add a developer option to duplicate tiles (#2369)
- Add toggle to always show yourself (#2380)
- Replace react-rxjs with observable-hooks (#2381)
- New spotlight layout (#2382)
- Show speaker in the spotlight in large grids (#2416)
- New one-on-one layout (#2417)
- Implement most of the remaining layout changes (#2463)
- New call layouts (#2485)
- Update dependency livekit-client to v2.4.0 (#2490)
- Quick and dirty fix to spotlight reactivity (#2494)
- Fkwp/cleanup config (#2498)
- Update LiveKit components (#2499)
- Update dependency matrix-widget-api to v1.7.0 (#2491)
- Update all non-major dependencies (#2492)
- Update dependency eslint-plugin-unicorn to v55 (#2503)
- Show layout switcher in widget/embedded mode (#2493)
- Improve accessibility of keyboard shortcuts (#2502)
- Fix grammar and spelling for comments and code (#2506)
- Make layout reactivity less brittle (#2501)
- Import Compound icons in the new recommended way (#2509)
- Update dependency @vector-im/compound-design-tokens to v1.7.0 (#2516)
- Don't consider microphone mute state in importance ordering (#2515)
- Give tiles a minimum area rather than a minimum width and height (#2513)
- Fix a crash when using the duplicate tiles option (#2512)
- Don't show the speaker in the spotlight in large grids (#2511)
- Only show the expand button in spotlight layout (#2510)
- Update LiveKit components (#2518)
- Update dependency livekit-client to v2.4.1 (#2519)
- Delete the unused full screen code (#2486)
- Add DeviceMute widget action
io.element.device_mute
. (#2482) - Backport deviceSetup await (#2522)
- Update GitHub Actions (#2524)
- Update dependency livekit-client to v2.4.2 (#2526)
- Update dependency matrix-widget-api to v1.8.1 (#2527)
- Update LiveKit components (#2525)
- Add future related widget capabilities (#2505)
- More strongly prefer putting a remote speaker in the spotlight (#2528)
- Fix Renovate warning (#2532)
- Bump matrix-widget-api (#2529)
- Add back some margins to the interface (#2531)
- Show your own name on your tile (#2530)
- Don't refer to MSC3779 explicitly in comment (#2533)
- Update dependency @vector-im/compound-web to v6 (#2448)
- Update all non-major dependencies (#2535)
- Improve the layouts on small mobile calls (#2514)
- Update dependency @vector-im/compound-design-tokens to v1.8.0 (#2538)
- Update dependency postcss-preset-env to v10 (#2534)
- Fix a crash when the duplicate tiles option is empty (#2539)
- Add note on how to add a new translation key (#2536)
- Don't show local media on top of itself (#2541)
- Update js-sdk to use non-legacy calls if found (#2540)
- Avoid T-shaped layouts in 4 person calls (#2547)
- Consider any sufficiently short window 'flat' (#2545)
- Avoid duplicating the video of someone in the spotlight (#2546)
- Show controls on tap/hover on small screens (#2548)
- Don't keep someone in the spotlight if they've left the call (#2552)
Full Changelog: v0.5.18...v0.6.0