mirror of
https://github.com/element-hq/synapse.git
synced 2026-11-04 22:07:34 +00:00
The rooms the Rust sync handler computes now reach the servlet as `RustJoinedSyncResult` and `RustArchivedSyncResult`. They subclass the Python entries, and their fields become Python objects only when read. The servlet encodes them in one call to the new Rust `RoomsEncoder`, which ports `encode_room` over the existing serializer. If that call fails, Python encodes them. The Rust handler loads each room's redactions as it computes the room. The serializer reads redactions, bundles and module additions through a `SerializeLookups` trait, so that it takes Rust events as well as Python maps. Bundled aggregations are still computed in Python. Shadow mode now also compares the encoded JSON of each room. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R5b7Ruy4cgt27Mjq6Ptxbb
2 lines
86 B
Plaintext
2 lines
86 B
Plaintext
Encode the rooms of a sync response in Rust when the Rust sync handler computed them.
|