Browse Source

Fix pushing logout bridge state

Tulir Asokan 4 năm trước cách đây
mục cha
commit
778f8e34b3
2 tập tin đã thay đổi với 7 bổ sung5 xóa
  1. 6 4
      mautrix_signal/user.py
  2. 1 1
      requirements.txt

+ 6 - 4
mautrix_signal/user.py

@@ -98,13 +98,15 @@ class User(DBUser, BaseUser):
         await asyncio.sleep(1)
         await self.bridge.signal.delete_account(username)
         self._track_metric(METRIC_LOGGED_IN, False)
-        await self.push_bridge_state(ok=False, error="logged-out")
+        await self.push_bridge_state(ok=False, error="logged-out", remote_id=username)
 
     async def fill_bridge_state(self, state: BridgeState) -> None:
         await super().fill_bridge_state(state)
-        state.remote_id = self.username
-        puppet = await pu.Puppet.get_by_address(self.address)
-        state.remote_name = puppet.name or self.username
+        if not state.remote_id:
+            state.remote_id = self.username
+        if self.address:
+            puppet = await self.get_puppet()
+            state.remote_name = puppet.name or self.username
 
     async def get_bridge_state(self) -> BridgeState:
         if not self.username:

+ 1 - 1
requirements.txt

@@ -4,5 +4,5 @@ commonmark>=0.8,<0.10
 aiohttp>=3,<4
 yarl>=1,<2
 attrs>=19.1
-mautrix>=0.9.7,<0.10
+mautrix>=0.9.8,<0.10
 asyncpg>=0.20,<0.24