From 64e993eb4be5a6fd95966cfcadefb35c4773053b Mon Sep 17 00:00:00 2001 From: Paul Chobert Date: Thu, 29 Oct 2026 18:15:22 +0100 Subject: [PATCH] Explain why former members skip the leave entry on initial sync --- synapse/handlers/sync.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py index 9490c6c0d7..bdc0d28819 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py @@ -3507,6 +3507,8 @@ class SyncHandler: knock = await self.store.get_event(event.event_id) knocked.append(KnockedSyncResult(room_id=event.room_id, knock=knock)) elif event.membership in (Membership.LEAVE, Membership.BAN): + # Former members of an announcement room get the synthetic join + # instead of this leave or ban. if event.room_id in sync_result_builder.announcement_room_ids: continue