MatrixSynapse/synapse/handlers
Erik Johnston 30848c0fcd Ignore incoming events for rooms that we have left
When synapse receives an event for a room its not in over federation, it
double checks with the remote server to see if it is in fact in the
room. This is done so that if the server has forgotten about the room
(usually as a result of the database being dropped) it can recover from
it.

However, in the presence of state resets in large rooms, this can cause
a lot of work for servers that have legitimately left. As a hacky
solution that supports both cases we drop incoming events for rooms that
we have explicitly left.

This means that we no longer support the case of servers having
forgotten that they've rejoined a room, but that is sufficiently rare
that we're not going to support it for now.
2017-10-03 11:18:21 +01:00
..
__init__.py
_base.py
account_data.py
admin.py
appservice.py
auth.py Use an ExpiringCache for storing registration sessions 2017-06-29 14:08:37 +01:00
device.py Correctly handle leaving room in /key/changes 2017-09-18 15:38:22 +01:00
devicemessage.py
directory.py
e2e_keys.py
events.py
federation.py Ignore incoming events for rooms that we have left 2017-10-03 11:18:21 +01:00
identity.py
initial_sync.py
message.py Fix /joined_members to work with AS users 2017-09-28 10:09:32 +01:00
presence.py
profile.py
read_marker.py
receipts.py
register.py
room.py
room_list.py
room_member.py Add a config option to block all room invites (#2457) 2017-09-19 16:08:14 +01:00
search.py
sync.py Refactor to speed up incremental syncs 2017-09-25 17:35:39 +01:00
typing.py
user_directory.py