mirror of
https://github.com/element-hq/synapse.git
synced 2026-11-12 09:58:24 +00:00
The Rust resolution fires its deferred from the tokio threads, and the fake reactor only waits for those inside a request. Background work that resolves state, such as processing a PDU after /send has returned, had not finished when tests checked its effects, so tests failed with SYNAPSE_TEST_RUST_STATE_RES set. The handler gains resolve_blocking, and test homeservers use it when SYNAPSE_TEST_RUST_STATE_RES is set, as make_fake_db_pool already does for database transactions. tests/state/test_rust_handler.py still covers the deferred. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ULdieJyQoHNzeHq42H2M1p