MatrixSynapse/synapse/handlers
Eric Eastwood a962c5a56d
Fix exception when using MSC3030 to look for remote federated events before room creation (#13197)
Complement tests: https://github.com/matrix-org/complement/pull/405

This happens when you have some messages imported before the room is created.
Then use MSC3030 to look backwards before the room creation from a remote
federated server. The server won't find anything locally, but will ask over
federation which will have the remote event. The previous logic would
choke on not having the local event assigned.

```
Failed to fetch /timestamp_to_event from hs2 because of exception(UnboundLocalError) local variable 'local_event' referenced before assignment args=("local variable 'local_event' referenced before assignment",)
```
2022-07-07 11:52:45 -05:00
..
ui_auth Fix typo in some instances of enable_registration_token_3pid_bypass. (#12639) 2022-05-05 07:11:52 -04:00
__init__.py
account.py Optionally include account validity in MSC3720 account status responses (#12266) 2022-03-24 11:19:41 +01:00
account_data.py Add `StreamKeyType` class and replace string literals with constants (#12567) 2022-05-16 15:35:31 +00:00
account_validity.py Implement cancellation support/protection for module callbacks (#12568) 2022-05-09 12:31:14 +01:00
admin.py Rename storage classes (#12913) 2022-05-31 12:17:50 +00:00
appservice.py Additional constants for EDU types. (#12884) 2022-05-27 07:14:36 -04:00
auth.py Move the "email unsubscribe" resource, refactor the macaroon generator & simplify the access token verification logic. (#12986) 2022-06-14 09:12:08 -04:00
cas.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00
deactivate_account.py Add third_party module callbacks to check if a user can delete a room and deactivate a user (#12028) 2022-03-09 18:23:57 +00:00
device.py Use new `device_list_changes_in_room` table when getting device list changes (#13045) 2022-06-17 11:42:03 +01:00
devicemessage.py Additional constants for EDU types. (#12884) 2022-05-27 07:14:36 -04:00
directory.py Uniformize spam-checker API, part 4: port other spam-checker callbacks to return `Union[Allow, Codes]`. (#12857) 2022-06-13 18:16:16 +00:00
e2e_keys.py Additional constants for EDU types. (#12884) 2022-05-27 07:14:36 -04:00
e2e_room_keys.py Refactor and convert `Linearizer` to async (#12357) 2022-04-05 15:43:52 +01:00
event_auth.py Move some event auth checks out to a different method (#13065) 2022-06-15 19:48:22 +01:00
events.py Rename storage classes (#12913) 2022-05-31 12:17:50 +00:00
federation.py Faster room joins: fix race in recalculation of current room state (#13151) 2022-07-07 12:19:31 +00:00
federation_event.py Handle race between persisting an event and un-partial stating a room (#13100) 2022-07-05 16:12:52 +01:00
identity.py Use `getClientAddress` instead of `getClientIP`. (#12599) 2022-05-04 14:11:21 -04:00
initial_sync.py Reduce the amount of state we pull from the DB (#12811) 2022-06-06 09:24:12 +01:00
message.py Handle race between persisting an event and un-partial stating a room (#13100) 2022-07-05 16:12:52 +01:00
oidc.py Move the "email unsubscribe" resource, refactor the macaroon generator & simplify the access token verification logic. (#12986) 2022-06-14 09:12:08 -04:00
pagination.py Rename storage classes (#12913) 2022-05-31 12:17:50 +00:00
password_policy.py
presence.py Wait for lazy join to complete when getting current state (#12872) 2022-06-01 16:02:53 +01:00
profile.py Use a single query in `ProfileHandler.get_profile` (#13209) 2022-07-07 11:02:09 +00:00
push_rules.py Add a module API to allow modules to edit push rule actions (#12406) 2022-04-27 13:55:33 +00:00
read_marker.py Refactor and convert `Linearizer` to async (#12357) 2022-04-05 15:43:52 +01:00
receipts.py Additional constants for EDU types. (#12884) 2022-05-27 07:14:36 -04:00
register.py Decouple `synapse.api.auth_blocking.AuthBlocking` from `synapse.api.auth.Auth`. (#13021) 2022-06-14 09:51:15 +01:00
relations.py Implement MSC3816, consider the root event for thread participation. (#12766) 2022-06-06 07:18:04 -04:00
room.py Fix exception when using MSC3030 to look for remote federated events before room creation (#13197) 2022-07-07 11:52:45 -05:00
room_batch.py Rename storage classes (#12913) 2022-05-31 12:17:50 +00:00
room_list.py Implement MSC3827: Filtering of `/publicRooms` by room type (#13031) 2022-06-29 17:12:45 +00:00
room_member.py Fix application service not being able to join remote federated room without a profile set (#13131) 2022-07-05 05:56:06 -05:00
room_member_worker.py
room_summary.py Wait for lazy join to complete when getting current state (#12872) 2022-06-01 16:02:53 +01:00
saml.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00
search.py Reduce the amount of state we pull from the DB (#12811) 2022-06-06 09:24:12 +01:00
send_email.py
set_password.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00
sso.py Use `getClientAddress` instead of `getClientIP`. (#12599) 2022-05-04 14:11:21 -04:00
state_deltas.py Remove `HomeServer.get_datastore()` (#12031) 2022-02-23 11:04:02 +00:00
stats.py Implement MSC3827: Filtering of `/publicRooms` by room type (#13031) 2022-06-29 17:12:45 +00:00
sync.py Use new `device_list_changes_in_room` table when getting device list changes (#13045) 2022-06-17 11:42:03 +01:00
typing.py Reduce state pulled from DB due to sending typing and receipts over federation (#12964) 2022-06-06 16:46:11 +01:00
user_directory.py Wait for lazy join to complete when getting current state (#12872) 2022-06-01 16:02:53 +01:00