Tulir Asokan преди 4 години
родител
ревизия
1543794d0b
променени са 2 файла, в които са добавени 6 реда и са изтрити 3 реда
  1. 1 2
      mautrix_instagram/portal.py
  2. 5 1
      mautrix_instagram/user.py

+ 1 - 2
mautrix_instagram/portal.py

@@ -655,8 +655,7 @@ class Portal(DBPortal, BasePortal):
             await self.update()
             self.log.debug(f"Matrix room created: {self.mxid}")
             self.by_mxid[self.mxid] = self
-            if not self.is_direct:
-                await self._update_participants(info.users, source)
+            await self._update_participants(info.users, source)
 
             puppet = await p.Puppet.get_by_custom_mxid(source.mxid)
             if puppet:

+ 5 - 1
mautrix_instagram/user.py

@@ -237,10 +237,14 @@ class User(DBUser, BaseUser):
     @async_time(METRIC_MESSAGE)
     async def handle_message(self, evt: MessageSyncEvent) -> None:
         portal = await po.Portal.get_by_thread_id(evt.message.thread_id, receiver=self.igpk)
-        if not portal.mxid:
+        if not portal:
             # TODO try to find the thread?
             self.log.warning(f"Ignoring message to unknown thread {evt.message.thread_id}")
             return
+        elif not portal.mxid:
+            # TODO create portal room?
+            self.log.warning(f"Ignoring message to thread with no room {evt.message.thread_id}")
+            return
         self.log.trace(f"Received message sync event {evt.message}")
         sender = await pu.Puppet.get_by_pk(evt.message.user_id) if evt.message.user_id else None
         if evt.message.op == Operation.ADD: