Explorar el Código

Fix `get_users_in_room` mis-use in `transfer_room_state_on_room_upgrade` (#13960)

Spawning from looking into `get_users_in_room` while investigating https://github.com/matrix-org/synapse/issues/13942#issuecomment-1262787050.

See https://github.com/matrix-org/synapse/pull/13575#discussion_r953023755 for the original exploration around finding `get_users_in_room` mis-uses.

Related to the following PRs where we also cleaned up some `get_users_in_room` mis-uses:

 - https://github.com/matrix-org/synapse/pull/13605
 - https://github.com/matrix-org/synapse/pull/13608
 - https://github.com/matrix-org/synapse/pull/13606
 - https://github.com/matrix-org/synapse/pull/13958
tags/v1.69.0rc1
Eric Eastwood hace 1 año
committed by GitHub
padre
commit
a52c40e2a6
No se encontró ninguna clave conocida en la base de datos para esta firma ID de clave GPG: 4AEE18F83AFDEB23
Se han modificado 2 ficheros con 3 adiciones y 2 borrados
  1. +1
    -0
      changelog.d/13960.misc
  2. +2
    -2
      synapse/handlers/room_member.py

+ 1
- 0
changelog.d/13960.misc Ver fichero

@@ -0,0 +1 @@
Use dedicated `get_local_users_in_room(room_id)` function to find local users when calculating users to copy over during a room upgrade.

+ 2
- 2
synapse/handlers/room_member.py Ver fichero

@@ -1150,8 +1150,8 @@ class RoomMemberHandler(metaclass=abc.ABCMeta):
logger.info("Transferring room state from %s to %s", old_room_id, room_id)

# Find all local users that were in the old room and copy over each user's state
users = await self.store.get_users_in_room(old_room_id)
await self.copy_user_state_on_room_upgrade(old_room_id, room_id, users)
local_users = await self.store.get_local_users_in_room(old_room_id)
await self.copy_user_state_on_room_upgrade(old_room_id, room_id, local_users)

# Add new room to the room directory if the old room was there
# Remove old room from the room directory


Cargando…
Cancelar
Guardar