synapse-product/synapse
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
..
api Add a config option to block all room invites (#2457) 2017-09-19 16:08:14 +01:00
app Make 'affinity' package optional 2017-10-02 18:03:59 +01:00
appservice Make get_if_app_services_interested_in_user faster 2017-05-18 16:34:44 +01:00
config Forgot the new file again :( 2017-09-27 10:22:54 +01:00
crypto Merge branch 'develop' into develop 2017-09-25 11:50:11 +01:00
events Don't test is spam_checker not None 2017-09-27 11:24:19 +01:00
federation Make the spam checker a module 2017-09-26 19:20:23 +01:00
handlers Ignore incoming events for rooms that we have left 2017-10-03 11:18:21 +01:00
http Improve logging of failures in matrixfederationclient 2017-09-28 15:38:09 +01:00
metrics Rearrange metrics 2017-04-05 14:15:09 +01:00
push Also include the room_id 2017-09-18 15:58:38 +01:00
replication Reduce log levels in tcp replication 2017-07-11 10:04:21 +01:00
rest Only log if we've removed media 2017-09-28 16:08:08 +01:00
static/client Updates to fallback CAS login to do new token login 2015-11-06 09:57:17 +00:00
storage Ignore incoming events for rooms that we have left 2017-10-03 11:18:21 +01:00
streams Add basic implementation of local device list changes 2017-01-25 14:27:27 +00:00
util pep8 2017-09-27 10:26:13 +01:00
__init__.py Bump version and changelog 2017-10-02 18:05:17 +01:00
event_auth.py Use better variable name 2017-01-17 14:32:53 +00:00
notifier.py Don't start user_directory handling on workers 2017-06-07 12:02:53 +01:00
python_dependencies.py Make 'affinity' package optional 2017-10-02 18:03:59 +01:00
server.py Make the spam checker a module 2017-09-26 19:20:23 +01:00
server.pyi Fix login with m.login.token 2016-08-08 16:40:39 +01:00
state.py Define CACHE_SIZE_FACTOR once 2017-07-04 09:56:44 +01:00
types.py Weight differently 2017-05-31 14:29:32 +01:00
visibility.py Don't filter out current state events from timeline 2017-09-18 17:13:03 +01:00