From 97dc989394a6563d3a044c5dfc767a1b2b9e7a20 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Mon, 11 Aug 2025 22:28:30 +0300 Subject: [PATCH] Check creator power when following tombstones --- maubot/client.py | 5 ++++- requirements.txt | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/maubot/client.py b/maubot/client.py index b0fde73..5c98498 100644 --- a/maubot/client.py +++ b/maubot/client.py @@ -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..." diff --git a/requirements.txt b/requirements.txt index e1df001..5a165c4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -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