mirror of
https://github.com/element-hq/synapse.git
synced 2026-11-04 15:37:49 +00:00
`visibility::filter_events_for_server` reads the erased senders, the partial state rooms, the history visibility and the target server's memberships at each event through a `SyncReader`, and leaves the per-event decision to `event_visible_to_server`. That now borrows its arguments. Python waits for the full state of an event whose memberships it needs. Rust cannot, and returns `NeedsFullState` for the caller to handle. The differential tests compare it with Python's on random rooms, an outlier and a room with partial state, for every combination of flags. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R5b7Ruy4cgt27Mjq6Ptxbb