mirror of
https://github.com/element-hq/synapse.git
synced 2026-11-04 13:28:04 +00:00
With `rust_sync: on`, Python hands the rooms section to the Rust handler in two calls, fetching the sticky events of newly joined rooms between them. Python computes the rooms the Rust handler leaves to it. If the Rust handler fails to work out the room changes, Python computes the whole section. Shadow mode runs the Python and Rust sections at once. It compares the room changes (newly joined and left rooms, invites and knocks) as well as each room's entry. Python still computes what feeds the steps before the rooms: the joined rooms of `get_sync_result_builder`, ephemeral events, room account data, tags and sticky events. It also drops the invites of ignored users and those the invite rules ignore. The unknown room version test also clears the Rust event cache, as the restart it stands for would. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R5b7Ruy4cgt27Mjq6Ptxbb
2 lines
148 B
Plaintext
2 lines
148 B
Plaintext
Work out the rooms of `/sync` responses in Rust, and compute their entries in one call, when `experimental_features.rust_sync` is `shadow` or `on`.
|