mirror of
https://github.com/element-hq/synapse.git
synced 2026-11-04 13:28:04 +00:00
`LazyLoadedMembersCache` as it is on develop after #20289: an LRU of the members sent to a device, each stamped with the room position of the response that carried it, and `start_request` forgetting the entries recorded after the request's `since`. The per-device caches expire after thirty minutes without use, as the Python `ExpiringCache` does. The Rust sync handler holds them, not the store: they are per device and no data change invalidates them. `SyncHandler.start_request` is its first entry point. `tests/sync/test_rust_ll_members.py` mirrors the Python cache's tests and runs random operation sequences, with multi-writer positions, through both. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0194eNQP5weBtVMg8NKtc6VU