forked-synapse/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 Shuffle receipt handler around so that worker apps don't need to load it 2016-11-23 15:14:24 +00:00
_base.py Add per user ratelimiting overrides 2017-05-10 11:05:43 +01:00
account_data.py copyrights 2016-01-07 04:26:29 +00:00
admin.py admin,storage: added more administrator functionalities 2017-02-02 14:02:26 +01:00
appservice.py storage/appservice: make appservice methods only relying on the cache synchronous 2016-10-06 15:24:59 +02:00
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 Use new federation_sender DI 2016-11-16 14:47:52 +00:00
directory.py Ignore backoff history for invites, aliases, and roomdirs 2017-03-23 12:23:22 +00:00
e2e_keys.py Replace some instances of preserve_context_over_deferred 2017-05-09 19:04:56 +01:00
events.py Use state handler instead of get_users_in_room/get_joined_hosts 2016-08-26 14:54:30 +01:00
federation.py Ignore incoming events for rooms that we have left 2017-10-03 11:18:21 +01:00
identity.py Revert accidental commit 2017-04-26 11:43:16 +01:00
initial_sync.py Format presence events on the edges instead of reformatting them multiple times 2017-03-15 14:27:34 +00:00
message.py Fix /joined_members to work with AS users 2017-09-28 10:09:32 +01:00
presence.py Make presence use cached users/hosts in room 2017-05-16 16:01:43 +01:00
profile.py Add per user ratelimiting overrides 2017-05-10 11:05:43 +01:00
read_marker.py m.read_marker -> m.fully_read (#2128) 2017-04-18 17:46:15 +01:00
receipts.py Don't recreate so many sets 2017-03-16 11:54:26 +00:00
register.py Modify condition on empty localpart 2017-05-10 17:34:30 +01:00
room_list.py Comments 2017-03-13 11:53:26 +00:00
room_member.py Add a config option to block all room invites (#2457) 2017-09-19 16:08:14 +01:00
room.py Change to create new room and join other users 2017-06-19 14:10:13 +01:00
search.py move filter_events_for_client out of base handler 2016-05-11 13:42:37 +01:00
sync.py Refactor to speed up incremental syncs 2017-09-25 17:35:39 +01:00
typing.py Fix typing tests 2017-05-26 10:02:04 +01:00
user_directory.py Make some more params configurable 2017-06-22 14:59:52 +01:00