Disable proactive sends for remote joins (#12330)
Do not attempt to send remote joins out over federation. Normally, it will do nothing; occasionally, it will do the wrong thing.
This commit is contained in:
parent
437a8ed9ef
commit
9b67715bc3
|
@ -0,0 +1 @@
|
||||||
|
Avoid trying to calculate the state at outlier events.
|
|
@ -469,6 +469,12 @@ class FederationEventHandler:
|
||||||
if context.rejected:
|
if context.rejected:
|
||||||
raise SynapseError(400, "Join event was rejected")
|
raise SynapseError(400, "Join event was rejected")
|
||||||
|
|
||||||
|
# the remote server is responsible for sending our join event to the rest
|
||||||
|
# of the federation. Indeed, attempting to do so will result in problems
|
||||||
|
# when we try to look up the state before the join (to get the server list)
|
||||||
|
# and discover that we do not have it.
|
||||||
|
event.internal_metadata.proactively_send = False
|
||||||
|
|
||||||
return await self.persist_events_and_notify(room_id, [(event, context)])
|
return await self.persist_events_and_notify(room_id, [(event, context)])
|
||||||
|
|
||||||
async def backfill(
|
async def backfill(
|
||||||
|
|
Loading…
Reference in New Issue