Check creator power when following tombstones

This commit is contained in:
Tulir Asokan 2025-08-11 22:28:30 +03:00
parent 4c01a49310
commit 97dc989394
2 changed files with 5 additions and 2 deletions

View file

@ -372,7 +372,10 @@ class Client(DBClient):
_, server = self.client.parse_user_id(evt.sender)
room_id = await self.client.join_room(evt.content.replacement_room, servers=[server])
power_levels = await self.client.get_state_event(room_id, EventType.ROOM_POWER_LEVELS)
if power_levels.get_user_level(evt.sender) < power_levels.invite:
create_event = await self.client.get_state_event(
room_id, EventType.ROOM_CREATE, format="event"
)
if power_levels.get_user_level(evt.sender, create_event) < power_levels.invite:
self.log.warning(
f"{evt.room_id} was tombstoned into {room_id} by {evt.sender},"
" but the sender doesn't have invite power levels, leaving..."

View file

@ -1,4 +1,4 @@
mautrix>=0.20.7,<0.21
mautrix>=0.20.9rc1,<0.21
aiohttp>=3,<4
yarl>=1,<2
asyncpg>=0.20,<1