Include server name when joining upgraded room

This commit is contained in:
Tulir Asokan
2019-11-21 23:12:11 +02:00
parent a5aa73dea6
commit 883c4dcf19
2 changed files with 7 additions and 6 deletions
+3 -3
View File
@@ -273,10 +273,10 @@ class MatrixHandler(BaseMatrixHandler):
await portal.handle_matrix_pin(sender, None)
@staticmethod
async def handle_room_upgrade(room_id: RoomID, new_room_id: RoomID) -> None:
async def handle_room_upgrade(room_id: RoomID, sender: UserID, new_room_id: RoomID) -> None:
portal = po.Portal.get_by_mxid(room_id)
if portal:
await portal.handle_matrix_upgrade(new_room_id)
await portal.handle_matrix_upgrade(sender, new_room_id)
async def handle_member_info_change(self, room_id: RoomID, user_id: UserID,
profile: MemberStateEventContent,
@@ -373,7 +373,7 @@ class MatrixHandler(BaseMatrixHandler):
old_events = set()
await self.handle_room_pin(evt.room_id, evt.sender, new_events, old_events)
elif evt.type == EventType.ROOM_TOMBSTONE:
await self.handle_room_upgrade(evt.room_id, evt.content.replacement_room)
await self.handle_room_upgrade(evt.room_id, evt.sender, evt.content.replacement_room)
# async def handle_event(self, evt: MatrixEvent) -> None:
# if self.filter_matrix_event(evt):
+4 -3
View File
@@ -494,10 +494,11 @@ class PortalMatrix(BasePortal, MautrixBasePortal, ABC):
self.save()
break
async def handle_matrix_upgrade(self, new_room: RoomID) -> None:
async def handle_matrix_upgrade(self, sender: UserID, new_room: RoomID) -> None:
_, server = self.main_intent.parse_user_id(sender)
old_room = self.mxid
self.migrate_and_save_matrix(new_room)
await self.main_intent.join_room(new_room)
await self.main_intent.join_room(new_room, servers=[server])
entity: Optional[TypeInputPeer] = None
user: Optional[AbstractUser] = None
if self.bot and self.has_bot:
@@ -519,7 +520,7 @@ class PortalMatrix(BasePortal, MautrixBasePortal, ABC):
"no Telegram user found.")
return
await self.update_matrix_room(user, entity, direct=self.peer_type == "user")
self.log.info(f"Upgraded room from {old_room} to {self.mxid}")
self.log.info(f"{sender} upgraded room from {old_room} to {self.mxid}")
def migrate_and_save_matrix(self, new_id: RoomID) -> None:
try: