Legacy sync cleanup, removal of legacy SS #1132

Merged
ginger merged 37 commits from ginger/sync-v3-cleanup into main 2025-12-07 19:58:25 +00:00

37 commits

Author SHA1 Message Date
c376fce725 chore(sync/v3): Remove unused imports
All checks were successful
Documentation / Build and Deploy Documentation (pull_request) Successful in 57s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 3m13s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 22m5s
2025-12-03 16:04:32 +00:00
da36604163 fix(sync/v3): Don't send rejected invites on initial syncs 2025-12-03 16:04:32 +00:00
fa74747ab1 refactor(sync/v3): Extract left room timeline logic into its own function 2025-12-03 16:04:32 +00:00
07199f9f17 fix(sync/v3): Don't send dummy leaves on an initial sync 2025-12-03 16:04:32 +00:00
2f38de16f6 chore: Formatting 2025-12-03 16:04:32 +00:00
5c162fdb3a fix: Nitpicky comment reword 2025-12-03 16:04:32 +00:00
9e60bfa365 fix: Bump max startup time to ten minutes in the systemd unit 2025-12-03 16:04:32 +00:00
5b959fca1c chore(sync/v3): More goat sacrifices 2025-12-03 16:04:32 +00:00
a6d325440c refactor(sync/v3): Split load_joined_room into smaller functions 2025-12-03 16:04:32 +00:00
6246c11265 fix: Correct error message 2025-12-03 16:04:32 +00:00
852bf99d34 fix(sync/v3): Add a workaround for matrix-js-sdk/5071 2025-12-03 16:04:32 +00:00
d2cc2fb19b fix(sync/v3): Stop ignoring leave cache deserialization failures 2025-12-03 16:04:32 +00:00
c2449bde74 fix(sync/v3): Do not include the last membership event when syncing left rooms 2025-12-03 16:04:32 +00:00
c89aa4503e chore(sync/v3): Sacrifice a goat to clippy 2025-12-03 16:04:32 +00:00
f71cfd18a5 fix(sync/v3): Cache shortstatehashes to speed up migration 2025-12-03 16:04:32 +00:00
9a27bccc8e fix(sync/v3): Implement a migration for the userroomid_leftstate table 2025-12-03 16:04:32 +00:00
fb66356154 fix(sync/v3): Fix invite filtering for federated invites 2025-12-03 16:04:32 +00:00
3b8b9d4b5c feat(sync/v3): Remove TL size config option in favor of using the sync filter 2025-12-03 16:04:32 +00:00
b20000fcf3 chore(sync/v3): Fix clippy lints 2025-12-03 16:04:32 +00:00
fe1efe0787 fix(sync/v3): Remove mysterious membership event manipulation code 2025-12-03 16:04:32 +00:00
08213038a9 fix(sync/v3): Properly sync room heroes 2025-12-03 16:04:32 +00:00
ad2118e371 chore(sync/v3): Use "build_*" terminology instead of "calculate_*" 2025-12-03 16:04:32 +00:00
be743ec70a chore(sync/v3): Use more descriptive names for SyncContext properties 2025-12-03 16:04:32 +00:00
eba5f16e09 chore: Remove unneeded comment 2025-12-03 16:04:32 +00:00
5fb49d8668 fix: Use prepare_lazily_loaded_members for joined rooms
Also, don't take read receipts into consideration for lazy loading.
Synapse doesn't do this and they're making initial syncs very large.
2025-12-03 16:04:32 +00:00
19e895b57f chore: Clippy fixes 2025-12-03 16:04:32 +00:00
5932efa92d feat: Typing notifications in simplified sliding sync
What's missing? Being able to use separate rooms & lists for typing
indicators.
At the moment, we use the same ones as we use for the timeline, as
todo_rooms is quite intertwined. We need to disentangle this to get that
functionality, although I'm not sure if clients use it.
2025-12-03 16:04:32 +00:00
1afa8413a2 feat: Add a config option to change the max TL size for legacy sync 2025-12-03 16:04:32 +00:00
31cc888119 fix: Set limited to true for newly joined rooms again 2025-12-03 16:04:32 +00:00
1ad60df7a6 fix: Properly sync left rooms
- Remove most usages of `update_membership` in favor
  of directly calling the `mark_as_*` functions
- Store the leave membership event as the value in the
  `userroomid_leftstate` table
- Use the `userroomid_leftstate` table to synchronize the
  timeline and state for left rooms if possible
2025-12-03 16:04:32 +00:00
afd115eedc fix: Properly sync newly joined rooms 2025-12-03 16:04:32 +00:00
1444f43fa7 fix(sync/v3): Further cleanup + improve incremental sync consistency 2025-12-03 16:04:32 +00:00
91d07a9bfc fix: Correctly send limited timelines again 2025-12-03 16:04:32 +00:00
c85b5bb122 refactor: Split sync v3 into multiple files 2025-12-03 16:04:32 +00:00
99aadff38e feat: Drop support for MSC3575 (legacy sliding sync) 2025-12-03 16:04:32 +00:00
d2d996d306 chore: Clippy fixes 2025-12-03 16:04:32 +00:00
26fa73841b fix(sync/v3): Cleanup part 1: mostly fix redundant data in state 2025-12-03 16:04:32 +00:00