mirror of
https://github.com/element-hq/synapse.git
synced 2026-11-04 13:28:04 +00:00
Broke by #20289. Hopefully fixes element-hq/element-web#35567. One subtle change in #20289 was that we started to filter rooms with `full_state` set through the cache. This *should* be safe since none of the membership events should have been previously sent down the sync. However, there is a bug with the lazy-loaded member cache when two concurrent syncs for the same device happens. The updates to the cache from the handling of one request are immediately seen by the other request, polluting the cache. This is a relatively common scenario in Element Web when a user reloads the page. The sync from before the reload is still being processed when Synapse receives the initial sync from after the reload. The full fix to correctly handle overlapping requests is a separate PR, but this is a stop-gap measure that should help Element Web.
2 lines
144 B
Plaintext
2 lines
144 B
Plaintext
Fix race where an initial sync did not return some memberships in rooms when another sync for the device was in-flight. Introduced in v1.163.0.
|