mirror of
https://github.com/element-hq/synapse.git
synced 2026-11-04 19:57:45 +00:00
A context sent to the event persister over replication holds its state maps as `immutabledict`s, which Rust's persist context conversion refused, as it took only a `dict`. So on a deployment with workers, preparing a chunk in Rust failed for every event another worker sent, and fell back to Python with an error logged. It now takes any mapping. Two worker tests with the native driver showed it, and then showed a test harness problem. `make_worker_hs` points a worker's Python pool at the master's database once the worker is built, but the worker's Rust handlers keep the native pool they were built with, on the worker's own database. It now points that pool at the master's database too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LXMkcZVkcZhi21augBff4a