* feat: add sections to RLSV3
* feat: add sections in vms
* feat: add room list section labs flag
* fix: wrong margin for room list item when in sections
* feat: hide favourites and low priority filters
* fix: crash when changing filter
* feat: support sticky room in sections
* test: update SC snapshot
* test: update SC screenshot
* test: update RLS tests
* test: add tests to RoomListSectionHeaderViewModel
* test: fix existing test in RoomListViewModel
* test: add sections tests for RoomListViewModel
* test: add e2e tests for sections
* fix: incorrect selected room when expanding/collasping a section
* fix: typo in `roomSkipList`
* feat: use one skip list with all filters instead of one list by tag
* chore: put back comment about `roomIndexInSection`
* chore: add missing `readonly`
* chore: add doc about possible undefined value for room item vm
* Remove redundant call intent computation
I'm not clear on why we've been computing the intent of a call twice — first in generateWidgetUrl and then again in getWidgetData. Adding intent to the widget's data has no effect at all since there is no matching placeholder in the URL for it to be templated into. It seems we can safely delete this code.
* Remove preload hack
Element Web has long since upgraded past version 0.15.0 of Element Call, so we no longer need to set the preload parameter manually.
* Use display:none to hide separator
Instead of using zero width and zero opacity. This will prevent any
interaction with the separator.
* Update snapshot
* Fix sonarcloud not seeing apps/desktop
* Modify sonar.sources to point to root directory
Updated sonar.sources to include all source files from the root directory.
* Give rooms with calls a proper accessible description
Besides improving accessibility, this makes it possible to check for the presence of a call indicator in the room list in Playwright tests.
* Make room list react to calls in a room, even when not connected to them
To use the results of CallStore.getRoom reactively, you need to listen for Call events, not ConnectedCalls events.
* Don't assume that every call starts off as a video call
If a Call object is created by way of someone starting a voice call, then of course the call's initial type needs to be 'voice'.
* Make room list items react to changes in call type
The type of a call may change over time; therefore room list items explicitly need to react to the changes.
* Update a call's type before notifying listeners of the change
If we notify listeners of a change in a call's type before actually making that change, the listeners will be working with glitched state. This would cause the room list to show the wrong call type in certain situations.
* Ignore the Vitest attachments directory
* perf: add memo to room avatar view
* perf: batch rlsV3 emit
* perf: avoid to re-render the room list if the room list state and sections are same
* perf: listen only message preview of the specific room
* perf: avoid to re-render the room list item if the notification or the content is same
* chore: replace useState and useEffect by useMemo in virtualized list
* fix: listen to room name event in RoomAvatar
* fix: room avatar re-render when room is low priority