Files
synapse/changelog.d/20338.misc
Erik JohnstonandClaude Opus 5.5 6c7b4975bc Dispatch the rooms section of sync to Rust
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
2026-10-15 09:45:45 +00:00

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`.