summary refs log tree commit diff
path: root/synapse/handlers/room.py
diff options
context:
space:
mode:
authorShay <hillerys@element.io>2025-05-23 01:59:40 -0700
committerGitHub <noreply@github.com>2025-05-23 09:59:40 +0100
commit24e849e483820762fa2d231ad702e6aeaa23829c (patch)
tree6eef6693481874e791b9b4fb2fe7e7edc4b81e5a /synapse/handlers/room.py
parentBump Tornado from 6.4.2 to 6.5.0 (#18459) (diff)
downloadsynapse-24e849e483820762fa2d231ad702e6aeaa23829c.tar.xz
Don't move invited users to new room when shutting down room (#18471)
This is confusing to users who received unwanted invites.
Diffstat (limited to 'synapse/handlers/room.py')
-rw-r--r--synapse/handlers/room.py23
1 files changed, 12 insertions, 11 deletions
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py

index 386375d64b..763f99e028 100644 --- a/synapse/handlers/room.py +++ b/synapse/handlers/room.py
@@ -1806,7 +1806,7 @@ class RoomShutdownHandler: ] = None, ) -> Optional[ShutdownRoomResponse]: """ - Shuts down a room. Moves all local users and room aliases automatically + Shuts down a room. Moves all joined local users and room aliases automatically to a new room if `new_room_user_id` is set. Otherwise local users only leave the room without any information. @@ -1949,16 +1949,17 @@ class RoomShutdownHandler: # Join users to new room if new_room_user_id: - assert new_room_id is not None - await self.room_member_handler.update_membership( - requester=target_requester, - target=target_requester.user, - room_id=new_room_id, - action=Membership.JOIN, - content={}, - ratelimit=False, - require_consent=False, - ) + if membership == Membership.JOIN: + assert new_room_id is not None + await self.room_member_handler.update_membership( + requester=target_requester, + target=target_requester.user, + room_id=new_room_id, + action=Membership.JOIN, + content={}, + ratelimit=False, + require_consent=False, + ) result["kicked_users"].append(user_id) if update_result_fct: