mirror of
https://github.com/element-hq/synapse.git
synced 2026-08-14 18:01:13 +00:00
Same pattern as the Reactor wrapper: a newtype around the Python object that is the single place naming the HomeServer API surface Rust relies on (config extraction, get_rust_runtime, get_clock, the main database pool). RustHandlers and both rendezvous handlers now take it instead of a bare Py<PyAny>, and public_baseurl moves into the extracted ServerConfig view rather than a getattr chain. Also drop the runtime duck-type validation from Reactor: hasattr only proves a name exists, not that the signature matches, and the Python side of these boundaries is already type-checked by mypy via the .pyi stubs. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HyuiV3m44ZbK9o24EnMMES