Browse Source

Implement MSC3818: copy room type on upgrade (#12786)

Resolves: #11896

Signed-off-by: Aminda Suomalainen <suomalainen+git@mikaela.info>
tags/v1.60.0rc1
Aminda Suomalainen 2 years ago
committed by GitHub
parent
commit
d25935cd3d
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 8 deletions
  1. +1
    -0
      changelog.d/12786.feature
  2. +8
    -8
      synapse/handlers/room.py

+ 1
- 0
changelog.d/12786.feature View File

@@ -0,0 +1 @@
Implement [MSC3818: Copy room type on upgrade](https://github.com/matrix-org/matrix-spec-proposals/pull/3818).

+ 8
- 8
synapse/handlers/room.py View File

@@ -469,14 +469,14 @@ class RoomCreationHandler:
(EventTypes.PowerLevels, ""),
]

# If the old room was a space, copy over the room type and the rooms in
# the space.
if (
old_room_create_event.content.get(EventContentFields.ROOM_TYPE)
== RoomTypes.SPACE
):
creation_content[EventContentFields.ROOM_TYPE] = RoomTypes.SPACE
types_to_copy.append((EventTypes.SpaceChild, None))
# Copy the room type as per MSC3818.
room_type = old_room_create_event.content.get(EventContentFields.ROOM_TYPE)
if room_type is not None:
creation_content[EventContentFields.ROOM_TYPE] = room_type
# If the old room was a space, copy over the rooms in the space.
if room_type == RoomTypes.SPACE:
types_to_copy.append((EventTypes.SpaceChild, None))

old_room_state_ids = await self.store.get_filtered_current_state_ids(
old_room_id, StateFilter.from_types(types_to_copy)


Loading…
Cancel
Save