From 7ac3351e253f0aab668e8fb691008df86dc6d0f9 Mon Sep 17 00:00:00 2001 From: Paul Chobert Date: Thu, 29 Oct 2026 15:49:18 +0100 Subject: [PATCH] Explain why announcement rooms are kept apart from joined rooms --- synapse/handlers/sync.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py index d590578c5d..0ca01b5a1e 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py @@ -3958,7 +3958,9 @@ class SyncResultBuilder: now_token: The token to sync up to. joined_room_ids: List of rooms the user is joined to announcement_room_ids: Server announcement rooms the user is not a member - of, whose new announcements should still be sent to them. + of, whose new announcements should still be sent. + They are kept apart from `joined_room_ids` because most code that + reads `joined_room_ids` relies on the user being a member. excluded_room_ids: Set of room ids we should omit from the /sync response. forced_newly_joined_room_ids: Rooms that should be presented in the /sync response as if they were