mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2024-10-01 08:25:44 -04:00
30848c0fcd
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. |
||
---|---|---|
.. | ||
api | ||
app | ||
appservice | ||
config | ||
crypto | ||
events | ||
federation | ||
handlers | ||
http | ||
metrics | ||
push | ||
replication | ||
rest | ||
static/client | ||
storage | ||
streams | ||
util | ||
__init__.py | ||
event_auth.py | ||
notifier.py | ||
python_dependencies.py | ||
server.py | ||
server.pyi | ||
state.py | ||
types.py | ||
visibility.py |