mirror of
https://github.com/element-hq/synapse.git
synced 2026-11-04 22:07:34 +00:00
`on` serves each joined or archived room from the Rust handler. A room the Rust handler cannot compute, or fails on, is computed by Python. Python's fallback rooms share the Rust handler's lazy-loaded members caches, so a room that moves between the two does not resend members. `shadow` serves Python's entry and compares the Rust one with it, counting the outcome in synapse_sync_rust_shadow_total. The two run at once, so the response waits for the slower. Cancellation stops both. Config parsing refuses `on` while the Rust and Python event caches are separate, unless `rust_sync_allow_unshared_event_cache` is set. Under trial, a Rust error or a shadow mismatch fails the test. The call invite test now builds its events for the room's own version. An event of another version is stored, but the Rust event loader cannot read it back. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0194eNQP5weBtVMg8NKtc6VU
2 lines
175 B
Plaintext
2 lines
175 B
Plaintext
Compute the joined and archived rooms of `/sync` responses in Rust when `experimental_features.rust_sync` is `shadow` or `on`, falling back to Python for partial state rooms.
|