MatrixSynapse/synapse/handlers
Sean Quah 84169a82dc
Avoid blocking lazy-loading `/sync`s 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
..
ui_auth Revert "Drop support for delegating email validation (#13192)" (#13406) 2022-07-29 10:29:23 +00:00
__init__.py
account.py
account_data.py
account_validity.py
admin.py
appservice.py
auth.py Implement MSC3848: Introduce errcodes for specific event sending failures (#13343) 2022-07-27 13:44:40 +01:00
cas.py
deactivate_account.py
device.py Add missing types to opentracing. (#13345) 2022-07-21 12:01:52 +00:00
devicemessage.py
directory.py
e2e_keys.py Add missing types to opentracing. (#13345) 2022-07-21 12:01:52 +00:00
e2e_room_keys.py Add missing types to opentracing. (#13345) 2022-07-21 12:01:52 +00:00
event_auth.py
events.py
federation.py Time how long it takes us to do backfill processing (#13535) 2022-08-17 10:33:19 +01:00
federation_event.py Time how long it takes us to do backfill processing (#13535) 2022-08-17 10:33:19 +01:00
identity.py Revert "Drop support for delegating email validation (#13192)" (#13406) 2022-07-29 10:29:23 +00:00
initial_sync.py Support stable identifiers for MSC2285: private read receipts. (#13273) 2022-08-05 11:09:33 -04:00
message.py Faster room joins: make `/joined_members` block whilst the room is partial stated. (#13514) 2022-08-16 13:16:56 +01:00
oidc.py
pagination.py Instrument `/messages` for understandable traces in Jaeger (#13368) 2022-08-03 10:57:38 -05:00
password_policy.py
presence.py Refactor presence so we can prune user in room caches (#13313) 2022-07-25 09:21:06 +00:00
profile.py
push_rules.py
read_marker.py
receipts.py Support stable identifiers for MSC2285: private read receipts. (#13273) 2022-08-05 11:09:33 -04:00
register.py
relations.py Instrument `/messages` for understandable traces in Jaeger (#13368) 2022-08-03 10:57:38 -05:00
room.py Backfill remote event fetched by MSC3030 so we can paginate from it later (#13205) 2022-07-22 16:00:11 -05:00
room_batch.py
room_list.py Use stable prefixes for MSC3827: filtering of `/publicRooms` by room type (#13370) 2022-07-27 19:46:57 +01:00
room_member.py Add some tracing spans to give insight into local joins (#13439) 2022-08-03 10:19:34 -07:00
room_member_worker.py
room_summary.py Revert 'Remove the unspecced field in the response. (#13365)' to give more time for clients to update. (#13501) 2022-08-11 10:27:48 +00:00
saml.py
search.py
send_email.py Support Implicit TLS for sending emails (#13317) 2022-07-25 16:27:19 +01:00
set_password.py
sso.py
state_deltas.py
stats.py
sync.py Avoid blocking lazy-loading `/sync`s during partial joins (#13477) 2022-08-18 11:53:02 +01:00
typing.py Copy room serials before handling in `get_new_events_as` (#13392) 2022-07-26 17:45:27 +00:00
user_directory.py