Commit Graph

9 Commits

Author SHA1 Message Date
Robin
d543c1a9c0 Merge branch 'livekit' into layout-state 2024-02-22 15:33:03 -05:00
Robin
f56d2cfbf4 Merge branch 'livekit' into renovate/livekit-client-2.x 2024-02-21 08:50:01 -05:00
Robin
6cfc2066c9 Add data models for the new call layouts
This is a start at implementing the call layouts from the new designs. I've added data types to model the contents of each possible layout, and begun implementing the business logic to produce these layouts in the call view model.
2024-02-20 17:19:38 -05:00
Timo
bcd8890f0a
Add crop to fit toggle to context menu. (#2107)
Signed-off-by: Timo K <toger5@hotmail.de>
2024-02-12 16:49:32 +01:00
Robin
5502f588eb Fix errors 2024-02-09 11:22:36 -05:00
Robin
21b91c503e Merge branch 'livekit' into tile-updates 2024-01-03 16:59:12 -05:00
Robin
b2bc8edcc1 Refactor/redesign video tiles 2023-12-18 16:59:48 -05:00
Robin
e8c9444c9c Don't confuse screen share tiles with user media 2023-12-04 23:51:15 -05:00
Robin
169ccd9de5 Start refactoring some business logic into view models
As Element Call grows in complexity, it has become a pain point that our business logic remains so tightly coupled to the UI code. In particular, this has made testing difficult, and the complex semantics of React hooks are not a great match for arbitrary business logic. Here, I show the beginnings of what it would look like for us to adopt the MVVM pattern. I've created a CallViewModel and TileViewModel that expose their state to the UI as rxjs Observables, as well as a couple of helper functions for consuming view models in React code.

This should contain no user-visible changes, but we need to watch out for regressions particularly around focus switching and promotion of speakers, because this was the logic I chose to refactor first.
2023-12-01 17:09:21 -05:00