Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Implement MSC3575: Sliding Sync #8328

Merged
merged 99 commits into from
Sep 7, 2022
Merged

Implement MSC3575: Sliding Sync #8328

merged 99 commits into from
Sep 7, 2022

Conversation

kegsay
Copy link
Member

@kegsay kegsay commented Apr 14, 2022

Implements basic support for Sliding Sync.

This includes cypress E2E tests.


Here's what your changelog entry will look like:

✨ Features

kegsay added 16 commits March 16, 2022 13:01
list ranges update but the UI doesn't
* Release threads as a beta feature ([\#8081](#8081)). Fixes element-hq/element-web#21351.
* More video rooms design updates ([\#8222](#8222)).
* Update video rooms to new design specs ([\#8207](#8207)). Fixes element-hq/element-web#21515, element-hq/element-web#21516 element-hq/element-web#21519 and element-hq/element-web#21526.
* Live Location Sharing - left panel warning with error ([\#8201](#8201)).
* Live location sharing - Stop publishing location to beacons with consecutive errors ([\#8194](#8194)).
* Live location sharing: allow retry when stop sharing fails ([\#8193](#8193)).
* Allow voice messages to be scrubbed in the timeline ([\#8079](#8079)). Fixes element-hq/element-web#18713.
* Live location sharing - stop sharing to beacons in rooms you left ([\#8187](#8187)).
* Allow sending and thumbnailing AVIF images ([\#8172](#8172)).
* Live location sharing - handle geolocation errors ([\#8179](#8179)).
* Show voice room participants when not connected ([\#8136](#8136)). Fixes element-hq/element-web#21513.
* Add margins between labs sections ([\#8169](#8169)).
* Live location sharing - send geolocation beacon events - happy path ([\#8127](#8127)).
* Add support for Animated (A)PNG ([\#8158](#8158)). Fixes element-hq/element-web#12967.
* Don't form continuations from thread roots ([\#8166](#8166)). Fixes element-hq/element-web#20908.
* Improve handling of animated GIF and WEBP images ([\#8153](#8153)). Fixes element-hq/element-web#16193 and element-hq/element-web#6684.
* Wire up file preview for video files ([\#8140](#8140)). Fixes element-hq/element-web#21539.
* When showing thread, always auto-focus its composer ([\#8115](#8115)). Fixes element-hq/element-web#21438.
* Live location sharing - refresh beacon expiry in room ([\#8116](#8116)).
* Use styled mxids in member list v2 ([\#8110](#8110)). Fixes element-hq/element-web#14825. Contributed by @SimonBrandner.
* Delete groups (legacy communities system) ([\#8027](#8027)). Fixes element-hq/element-web#17532.
* Add a prototype of voice rooms in labs ([\#8084](#8084)). Fixes element-hq/element-web#3546.
* Fix editing `<ol>` tags with a non-1 start attribute ([\#8211](#8211)). Fixes element-hq/element-web#21625.
* Fix URL previews being enabled when room first created ([\#8227](#8227)). Fixes element-hq/element-web#21659.
* Don't use m.call for Jitsi video rooms ([\#8223](#8223)).
* Scale emoji with size of surrounding text ([\#8224](#8224)).
* Make "Jump to date" translatable ([\#8218](#8218)).
* Normalize call buttons ([\#8129](#8129)). Fixes element-hq/element-web#21493. Contributed by @luixxiul.
* Show room preview bar with maximised widgets ([\#8180](#8180)). Fixes element-hq/element-web#21542.
* Update more strings to not wrongly mention room when it is/could be a space ([\#7722](#7722)). Fixes element-hq/element-web#20243 and element-hq/element-web#20910.
* Fix issue with redacting via edit composer flow causing stuck editStates ([\#8184](#8184)).
* Fix some image/video scroll jumps ([\#8182](#8182)).
* Fix "react error on share dialog" ([\#8170](#8170)). Contributed by @yaya-usman.
* Fix disambiguated profile in threads in bubble layout ([\#8168](#8168)). Fixes element-hq/element-web#21570. Contributed by @SimonBrandner.
* Responsive BetaCard on Labs ([\#8154](#8154)). Fixes element-hq/element-web#21554. Contributed by @luixxiul.
* Display button as inline in room directory dialog ([\#8164](#8164)). Fixes element-hq/element-web#21567. Contributed by @luixxiul.
* Null guard TimelinePanel unmount edge ([\#8171](#8171)).
* Fix beta pill label breaking ([\#8162](#8162)). Fixes element-hq/element-web#21566. Contributed by @luixxiul.
* Strip relations when forwarding ([\#7929](#7929)). Fixes element-hq/element-web#19769, element-hq/element-web#18067 element-hq/element-web#21015 and element-hq/element-web#10924.
* Don't try (and fail) to show replies for redacted events ([\#8141](#8141)). Fixes element-hq/element-web#21435.
* Fix 3pid member info for space member list ([\#8128](#8128)). Fixes element-hq/element-web#21534.
* Set max-width to user context menu ([\#8089](#8089)). Fixes element-hq/element-web#21486. Contributed by @luixxiul.
* Fix issue with falsey hrefs being sent in events ([\#8113](#8113)). Fixes element-hq/element-web#21417.
* Make video sizing consistent with images ([\#8102](#8102)). Fixes element-hq/element-web#20072.
@kegsay kegsay requested a review from a team as a code owner April 14, 2022 15:26
Copy link
Member

@turt2live turt2live left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall the code itself seems fine - the vast majority of my concerns are (partially) undocumented code style matching things.

There is a comment about the setting though, which I think is highest priority here.

We'd also need to see the js-sdk side up for review in order to merge this, as otherwise people won't be able to build the project anymore because TypeScript types will be missing.

@weeman1337 weeman1337 self-requested a review September 5, 2022 09:24
Copy link
Contributor

@weeman1337 weeman1337 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 tested on the Netlify deployment without labs setting enabled. Everything seems to be working fine. Do we have an existing sliding sync proxy we can use for convenient testing?

Copy link
Member

@t3chguy t3chguy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM other than that small nit

@kegsay kegsay merged commit a215027 into develop Sep 7, 2022
@kegsay kegsay deleted the kegan/sync-v3 branch September 7, 2022 15:42
su-ex added a commit to SchildiChat/element-desktop that referenced this pull request Sep 28, 2022
* Element Call video rooms ([\#9267](matrix-org/matrix-react-sdk#9267)).
* Device manager - rename session ([\#9282](matrix-org/matrix-react-sdk#9282)).
* Allow widgets to read related events ([\#9210](matrix-org/matrix-react-sdk#9210)). Contributed by @dhenneke.
* Device manager - logout of other session ([\#9280](matrix-org/matrix-react-sdk#9280)).
* Device manager - logout current session ([\#9275](matrix-org/matrix-react-sdk#9275)).
* Device manager - verify other devices ([\#9274](matrix-org/matrix-react-sdk#9274)).
* Allow integration managers to remove users ([\#9211](matrix-org/matrix-react-sdk#9211)).
* Device manager - add verify current session button ([\#9252](matrix-org/matrix-react-sdk#9252)).
* Add NotifPanel dot back. ([\#9242](matrix-org/matrix-react-sdk#9242)). Fixes element-hq/element-web#17641.
* Implement MSC3575: Sliding Sync ([\#8328](matrix-org/matrix-react-sdk#8328)).
* Add the clipboard read permission for widgets ([\#9250](matrix-org/matrix-react-sdk#9250)). Contributed by @stefanmuhle.
* Make autocomplete pop-up wider in thread view ([\#9289](matrix-org/matrix-react-sdk#9289)).
* Fix soft crash around inviting invalid MXIDs in start DM on first message flow ([\#9281](matrix-org/matrix-react-sdk#9281)). Fixes matrix-org/element-web-rageshakes#15060 and matrix-org/element-web-rageshakes#15140.
* Fix in-reply-to previews not disappearing when swapping rooms ([\#9278](matrix-org/matrix-react-sdk#9278)).
* Fix invalid instanceof operand window.OffscreenCanvas ([\#9276](matrix-org/matrix-react-sdk#9276)). Fixes element-hq/element-web#23275.
* Fix memory leak caused by unremoved listener ([\#9273](matrix-org/matrix-react-sdk#9273)).
* Fix thumbnail generation when offscreen canvas fails ([\#9272](matrix-org/matrix-react-sdk#9272)). Fixes element-hq/element-web#23265.
* Prevent sliding sync from showing a room under multiple sublists ([\#9266](matrix-org/matrix-react-sdk#9266)).
* Fix tile crash around tooltipify links ([\#9270](matrix-org/matrix-react-sdk#9270)). Fixes element-hq/element-web#23253.
* Device manager - filter out nulled metadatas in device tile properly ([\#9251](matrix-org/matrix-react-sdk#9251)).
* Fix a sliding sync bug which could cause rooms to loop ([\#9268](matrix-org/matrix-react-sdk#9268)).
* Remove the grey gradient on images in bubbles in the timeline ([\#9241](matrix-org/matrix-react-sdk#9241)). Fixes element-hq/element-web#21651.
* Fix html export not including images ([\#9260](matrix-org/matrix-react-sdk#9260)). Fixes element-hq/element-web#22059.
* Fix possible soft crash from a race condition in space hierarchies ([\#9254](matrix-org/matrix-react-sdk#9254)). Fixes matrix-org/element-web-rageshakes#15225.
* Disable all types of autocorrect, -complete, -capitalize, etc on Spotlight's search field ([\#9259](matrix-org/matrix-react-sdk#9259)).
* Handle M_INVALID_USERNAME on /register/available ([\#9237](matrix-org/matrix-react-sdk#9237)). Fixes element-hq/element-web#23161.
* Fix issue with quiet zone around QR code ([\#9243](matrix-org/matrix-react-sdk#9243)). Fixes element-hq/element-web#23199.
su-ex added a commit to SchildiChat/element-web that referenced this pull request Sep 28, 2022
* Element Call video rooms ([\element-hq#9267](matrix-org/matrix-react-sdk#9267)).
* Device manager - rename session ([\element-hq#9282](matrix-org/matrix-react-sdk#9282)).
* Allow widgets to read related events ([\element-hq#9210](matrix-org/matrix-react-sdk#9210)). Contributed by @dhenneke.
* Device manager - logout of other session ([\element-hq#9280](matrix-org/matrix-react-sdk#9280)).
* Device manager - logout current session ([\element-hq#9275](matrix-org/matrix-react-sdk#9275)).
* Device manager - verify other devices ([\element-hq#9274](matrix-org/matrix-react-sdk#9274)).
* Allow integration managers to remove users ([\element-hq#9211](matrix-org/matrix-react-sdk#9211)).
* Device manager - add verify current session button ([\element-hq#9252](matrix-org/matrix-react-sdk#9252)).
* Add NotifPanel dot back. ([\#9242](matrix-org/matrix-react-sdk#9242)). Fixes element-hq#17641.
* Implement MSC3575: Sliding Sync ([\element-hq#8328](matrix-org/matrix-react-sdk#8328)).
* Add the clipboard read permission for widgets ([\element-hq#9250](matrix-org/matrix-react-sdk#9250)). Contributed by @stefanmuhle.
* Make autocomplete pop-up wider in thread view ([\element-hq#9289](matrix-org/matrix-react-sdk#9289)).
* Fix soft crash around inviting invalid MXIDs in start DM on first message flow ([\element-hq#9281](matrix-org/matrix-react-sdk#9281)). Fixes matrix-org/element-web-rageshakes#15060 and matrix-org/element-web-rageshakes#15140.
* Fix in-reply-to previews not disappearing when swapping rooms ([\element-hq#9278](matrix-org/matrix-react-sdk#9278)).
* Fix invalid instanceof operand window.OffscreenCanvas ([\element-hq#9276](matrix-org/matrix-react-sdk#9276)). Fixes element-hq#23275.
* Fix memory leak caused by unremoved listener ([\element-hq#9273](matrix-org/matrix-react-sdk#9273)).
* Fix thumbnail generation when offscreen canvas fails ([\element-hq#9272](matrix-org/matrix-react-sdk#9272)). Fixes element-hq#23265.
* Prevent sliding sync from showing a room under multiple sublists ([\element-hq#9266](matrix-org/matrix-react-sdk#9266)).
* Fix tile crash around tooltipify links ([\element-hq#9270](matrix-org/matrix-react-sdk#9270)). Fixes element-hq#23253.
* Device manager - filter out nulled metadatas in device tile properly ([\element-hq#9251](matrix-org/matrix-react-sdk#9251)).
* Fix a sliding sync bug which could cause rooms to loop ([\element-hq#9268](matrix-org/matrix-react-sdk#9268)).
* Remove the grey gradient on images in bubbles in the timeline ([\element-hq#9241](matrix-org/matrix-react-sdk#9241)). Fixes element-hq#21651.
* Fix html export not including images ([\element-hq#9260](matrix-org/matrix-react-sdk#9260)). Fixes element-hq#22059.
* Fix possible soft crash from a race condition in space hierarchies ([\element-hq#9254](matrix-org/matrix-react-sdk#9254)). Fixes matrix-org/element-web-rageshakes#15225.
* Disable all types of autocorrect, -complete, -capitalize, etc on Spotlight's search field ([\element-hq#9259](matrix-org/matrix-react-sdk#9259)).
* Handle M_INVALID_USERNAME on /register/available ([\element-hq#9237](matrix-org/matrix-react-sdk#9237)). Fixes element-hq#23161.
* Fix issue with quiet zone around QR code ([\element-hq#9243](matrix-org/matrix-react-sdk#9243)). Fixes element-hq#23199.
su-ex added a commit to SchildiChat/matrix-react-sdk that referenced this pull request Sep 28, 2022
* Element Call video rooms ([\matrix-org#9267](matrix-org#9267)).
* Device manager - rename session ([\matrix-org#9282](matrix-org#9282)).
* Allow widgets to read related events ([\matrix-org#9210](matrix-org#9210)). Contributed by @dhenneke.
* Device manager - logout of other session ([\matrix-org#9280](matrix-org#9280)).
* Device manager - logout current session ([\matrix-org#9275](matrix-org#9275)).
* Device manager - verify other devices ([\matrix-org#9274](matrix-org#9274)).
* Allow integration managers to remove users ([\matrix-org#9211](matrix-org#9211)).
* Device manager - add verify current session button ([\matrix-org#9252](matrix-org#9252)).
* Add NotifPanel dot back. ([\matrix-org#9242](matrix-org#9242)). Fixes element-hq/element-web#17641.
* Implement MSC3575: Sliding Sync ([\matrix-org#8328](matrix-org#8328)).
* Add the clipboard read permission for widgets ([\matrix-org#9250](matrix-org#9250)). Contributed by @stefanmuhle.
* Make autocomplete pop-up wider in thread view ([\matrix-org#9289](matrix-org#9289)).
* Fix soft crash around inviting invalid MXIDs in start DM on first message flow ([\matrix-org#9281](matrix-org#9281)). Fixes matrix-org/element-web-rageshakes#15060 and matrix-org/element-web-rageshakes#15140.
* Fix in-reply-to previews not disappearing when swapping rooms ([\matrix-org#9278](matrix-org#9278)).
* Fix invalid instanceof operand window.OffscreenCanvas ([\matrix-org#9276](matrix-org#9276)). Fixes element-hq/element-web#23275.
* Fix memory leak caused by unremoved listener ([\matrix-org#9273](matrix-org#9273)).
* Fix thumbnail generation when offscreen canvas fails ([\matrix-org#9272](matrix-org#9272)). Fixes element-hq/element-web#23265.
* Prevent sliding sync from showing a room under multiple sublists ([\matrix-org#9266](matrix-org#9266)).
* Fix tile crash around tooltipify links ([\matrix-org#9270](matrix-org#9270)). Fixes element-hq/element-web#23253.
* Device manager - filter out nulled metadatas in device tile properly ([\matrix-org#9251](matrix-org#9251)).
* Fix a sliding sync bug which could cause rooms to loop ([\matrix-org#9268](matrix-org#9268)).
* Remove the grey gradient on images in bubbles in the timeline ([\matrix-org#9241](matrix-org#9241)). Fixes element-hq/element-web#21651.
* Fix html export not including images ([\matrix-org#9260](matrix-org#9260)). Fixes element-hq/element-web#22059.
* Fix possible soft crash from a race condition in space hierarchies ([\matrix-org#9254](matrix-org#9254)). Fixes matrix-org/element-web-rageshakes#15225.
* Disable all types of autocorrect, -complete, -capitalize, etc on Spotlight's search field ([\matrix-org#9259](matrix-org#9259)).
* Handle M_INVALID_USERNAME on /register/available ([\matrix-org#9237](matrix-org#9237)). Fixes element-hq/element-web#23161.
* Fix issue with quiet zone around QR code ([\matrix-org#9243](matrix-org#9243)). Fixes element-hq/element-web#23199.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants