Merge erikj/rust-sss-queries into the Rust event persistence branch

Brings Rust sliding sync (erikj/rust-sss-queries) together with Rust
event persistence (erikj/rust-persist-validate). Both branch from
a78b02b55c.

The conflicts were both sides adding parallel entries:
- the Complement and test environment switches
- the `RustHandlers` fields and getters
- the `_BlockingRustCalls` types

These keep both. `RustHandlers` builds the persister and the sliding sync
handler in one pass over the native pool. `SyncReader::begin` keeps the
persist side's flag-before-BEGIN and the sliding sync side's transaction
count and `begin_write`. Both sides had added the `invite_room_state`
and `knock_room_state` accessors to `Unsigned`, so one copy is kept.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PVLsNh6akt4ifEizY4D1ta
This commit is contained in:
Erik JohnstonandClaude Opus 5.5 committed 2026-10-18 10:54:17 +00:00
commit 832be1634d
64 files changed
+17323 -635

No files matched your search

+5
View File
@@ -386,6 +386,11 @@ main() {
fi
export PASS_SYNAPSE_RUST_PERSIST="$RUST_PERSIST"
fi
if [[ -n "$RUST_SLIDING_SYNC" ]]; then
# Set `experimental_features.rust_sliding_sync` (off or on). The Rust
# sliding sync handler needs RUST_DRIVER=1.
export PASS_SYNAPSE_RUST_SLIDING_SYNC="$RUST_SLIDING_SYNC"
fi
if [[ -n "$UNIX_SOCKETS" ]]; then
# Enable full on Unix socket mode for Synapse, Redis and Postgresql