synapse-product/synapse/storage/controllers
Sean Quah 84169a82dc
Avoid blocking lazy-loading /syncs during partial joins (#13477)
Use a state filter or accept partial state in a few places where we
request state, to avoid blocking.

To make lazy-loading `/sync`s work, we need to provide the memberships
of event senders, which are not guaranteed to be in the room state.
Instead we dig through auth events for memberships to present to
clients. The auth events of an event are guaranteed to contain a
passable membership event, otherwise the event would have been rejected.

Note that this only covers the common code paths encountered during
testing. There has been no exhaustive checking of all sync code paths.

Fixes #13146.

Signed-off-by: Sean Quah <seanq@matrix.org>
2022-08-18 11:53:02 +01:00
..
__init__.py Don't pull out state in compute_event_context for unconflicted state (#13267) 2022-07-14 13:57:02 +00:00
persist_events.py Instrument the federation/backfill part of /messages (#13489) 2022-08-16 12:39:40 -05:00
purge_events.py Rename storage classes (#12913) 2022-05-31 12:17:50 +00:00
state.py Avoid blocking lazy-loading /syncs during partial joins (#13477) 2022-08-18 11:53:02 +01:00