* Experimental SSS
Working branch to get SSS functional on element-web.
Requires https://github.com/matrix-org/matrix-js-sdk/pull/4400
* Adjust tests to use new behaviour
* Remove well-known proxy URL lookup; always use native
This is actually required for SSS because otherwise it would use
the proxy over native support.
* Linting
* Debug logging
* Control the race condition when swapping between rooms
* Dont' filter by space as synapse doesn't support it
* Remove SS code related to registering lists and managing ranges
- Update the spidering code to spider all the relevant lists.
- Add canonical alias to the required_state to allow room name calcs to work.
Room sort order is busted because we don't yet look at `bump_stamp`.
* User bumpStamp if it is present
* Drop initial room load from 20 per list to 10
* Half the batch size to trickle more quickly
* Prettier
* prettier on tests too
* Remove proxy URL & unused import
* Hopefully fix tests to assert what the behaviour is supposed to be
* Move the singleton to the manager tyo fix import loop
* Very well, code, I will remove you
Why were you there in the first place?
* Strip out more unused stuff
* Fix playwright test
Seems like this lack of order updating unless a room is selected
was just always a bug with both regular and non-sliding sync. I
have no idea how the test passed on develop because it won't run.
* Fix test to do maybe what it was supposed to do... possibly?
* Remove test for old pre-simplified sliding sync behaviour
* Unused import
* Remove sliding sync proxy & test
I was wrong about what this test was asserting, it was suposed
to assert that notification dots aren't shown (because SS didn't
support them somehow I guess) but they are fine in SSS so the test
is just no longer relevant.
* Remove now pointless credentials
* Remove subscription removal as SSS doesn't do that
* Update tests
* add test
* Switch to new labs flag & break if old labs flag is enabled
* Remove unused import & fix test
* Fix other test
* Remove name & description from old labs flag
as they're not displayed anywhere so not useful
* Remove old sliding sync option
by making it not a feature
* Add back unread nindicator test but inverted
and minus the bit about disabling notification which surely would have
defeated the original point anyway?
* Reinstate test for room_subscriptions
...and also make tests actually use sliding sync
* Use UserFriendlyError
* Remove empty constructor
* Remove unrelated changes
* Unused import
* Fix import
* Avoid moving import
---------
Co-authored-by: Kegan Dougal <7190048+kegsay@users.noreply.github.com>
* Introduce a hook to track active room
This hook simply keeps a state which tracks the index of the active room
in the list of rooms passed through props. This index will be recomputed
if the active rooms changes or if the list itself changed.
* Use hook in the view model
* Write tests
* Fix broken tests
* refactor: extract room creation and right verification
* refactor: update `RoomListHeaderViewModel` to use utils
* feat(room list filter): add filter key to `PrimaryFilter` model
* feat(room list filter): return active primary filter
* feat(room list): add create room action and rights verification
* test: update room list tests
* feat(empty room list): add empty room list
* test(empty room list): add empty room list tests
* feat(room list): use empty room list in `RoomListView`
* test(room list panel): update tests
* test(e2e): add e2e tests for empty room list
* test(e2e): update room list header snapshot
* refactor(room list item): rename `RoomListCell` into `RoomListItemView`
* refactor(room list item): move open room action to new room list item view model
* feat(hover menu): add `hasAccessToOptionsMenu`
* feat(hover menu): add to `RoomListItemViewModel` the condition to display or not the hover menu
* feat(hover menu): add view model for the hover menu
* feat(hover menu): add hover menu view
* feat(hover menu): add hover menu to room list item
* feat(hover menu): update i18n
* test(view model list item): update test and add test to `showHoverMenu`
* test(room list): update snapshot
* test(room list item menu): add tests for view model
* test(room list item menu): add tests for view
* test(room list item): add tests
* test(e2e): add tests for more options menu
* chore: update compound web
* test(e2e): fix typo
* Add a hook that deals with the sorting behaviour
Hook will provide a function to sort the list and also provides a state
which tracks the currently active sort option.
* Use hook in vm
* Write test for the vm
* Fix broken view tests
* Track available filters and expose this info from the vm
- Adds a separate hook that tracks the filtered rooms and the available
filters.
- When secondary filters are added, some of the primary filters will be
selectively hidden. So track this info in the vm.
* Write tests
* Fix typescript error
* Fix translation
* Explain what a primary filter is