element-hq / element-hq/element-web

[Epic] Simplified Sliding Sync in Element Web

Open
#28,736 1 comment 7 reactions 0 assignees View on GitHub
A-Sliding-Sync O-Frequent T-Enhancement T-Epic
Dominant language
TypeScript
Stars
13.5k
Forks
2.8k
PR merge metrics
PR metrics pending

Description

New, updated tracker issue for [simplified sliding sync](https://github.com/matrix-org/matrix-spec-proposals/pull/4186) as the old one was… old, and referred to regular sliding sync.

js-sdk PR: https://github.com/matrix-org/matrix-js-sdk/pull/4400/
web PR: https://github.com/element-hq/element-web/pull/28515

* [x] Adapt current sliding sync impl to new SSS (PoC version)
* [x] Fix bug where it uses SSS even if the labs flag isn't turned on - I think this may have been intentional on the PR for some reason: to double check
* [x] Get tests passing on SSS PRs
* [x] js-sdk
* [x] element-web
* [x] Code coverage on SSS PR
* [x] Look at network requests & unnecessary subscribe / unsubscribe
* [x] Prevent current SS users from breaking: swap to new labs flag, throw error if old labs flag is turned on
* [x] Get SSS PR merged (at this point we have SSS in labs replacing the old SS labs flag. Knocking and presence will not work if the labs flag is enabled).
* [ ] Room list takes ages to update properly with full list of rooms
* [x] Get unread dots working (I don't understand why this doesn't work but it doesn't)
* [ ] Fix ability to mark a room as read (don't seem to be able to clear room notifications)
* [ ] Tombstoned rooms are shown in the room list
* [ ] Allow it to be turned off again (this is fine now it's no longer proxy-based)
* [ ] Rooms missing from breadcrumbs (eg. it only shows 2, presumably the ones in the first sync response)
* [ ] Get pinned messages working (I don't know why they don't work but empirically they do not)
* [ ] Events sometimes get put in room at the wrong point!
* Made a room, invited another client, sent some messages from the other client without opening it on the SSS one (including a threaded message), opened the room on the SSS client: room create event ended up after the messages.
* [ ] Get knocking working
* May require support in synapse
* How much work is this? - I think this actually works fine after https://github.com/matrix-org/matrix-js-sdk/commit/ec83c14944a7b0d1414e60f94cc1edcc05c00b6b
* [ ] Get presence working
* Require support in synapse and the spec
* May not be all that much work(?) as it should be similar to the v2 impl, but does not currently exist.
* [ ] Make the widget API work, eg. Element Call doesn't get all the state it needs.
* [ ] Any other unknown unknowns that need fixing with the SSS experience
* [ ] Make SSS auto detect server support and fall back to regular sync v2
* [ ] De-labs!
* [ ] (probably significantly later) Remove sync v2 support

More detail to come as I explore what's needed for the various parts.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.