anonymousland-synapse/synapse/storage
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
..
controllers Avoid blocking lazy-loading /syncs during partial joins (#13477) 2022-08-18 11:53:02 +01:00
databases Fix a bug in the /event_reports Admin API which meant that the total count could be larger than the number of results you can actually query for. (#13525) 2022-08-17 18:08:23 +00:00
engines Use dummy fallback engines if imports fail (#12979) 2022-06-07 17:33:55 +01:00
schema Bg update to populate new events table columns (#13215) 2022-07-15 12:47:26 +01:00
util Instrument the federation/backfill part of /messages (#13489) 2022-08-16 12:39:40 -05:00
__init__.py Rename storage classes (#12913) 2022-05-31 12:17:50 +00:00
_base.py Refactor presence so we can prune user in room caches (#13313) 2022-07-25 09:21:06 +00:00
background_updates.py Replace noop background updates with DELETE. (#12954) 2022-06-13 14:06:27 -04:00
database.py Revert "Update locked versions of mypy and mypy-zope (#13521)" 2022-08-15 14:51:05 +01:00
keys.py Use auto_attribs/native type hints for attrs classes. (#11692) 2022-01-13 13:49:28 +00:00
prepare_database.py Use dummy fallback engines if imports fail (#12979) 2022-06-07 17:33:55 +01:00
push_rule.py Remove redundant "coding: utf-8" lines (#9786) 2021-04-14 15:34:27 +01:00
roommember.py Do not include rooms with an unknown room version in a sync response. (#10644) 2021-08-19 11:12:55 -04:00
state.py Update the rejected state of events during resync (#13459) 2022-08-11 10:42:24 +00:00
types.py Tidy up and type-hint the database engine modules (#12734) 2022-05-17 00:34:38 +01:00