Преглед на файлове

Handle get_profile request not returning a name

Tulir Asokan преди 4 години
родител
ревизия
ac12c6e650
променени са 2 файла, в които са добавени 4 реда и са изтрити 2 реда
  1. 1 1
      mausignald/types.py
  2. 3 1
      mautrix_signal/user.py

+ 1 - 1
mausignald/types.py

@@ -89,7 +89,7 @@ class Contact(SerializableAttrs['Contact']):
 
 @dataclass
 class Profile(SerializableAttrs['Profile']):
-    name: str
+    name: str = ""
     avatar: str = ""
     identity_key: str = ""
     unidentified_access: str = ""

+ 3 - 1
mautrix_signal/user.py

@@ -115,8 +115,10 @@ class User(DBUser, BaseUser):
         puppet = await pu.Puppet.get_by_address(contact.address)
         if not puppet.name:
             profile = await self.bridge.signal.get_profile(self.username, contact.address)
-            if profile:
+            if profile and profile.name:
                 self.log.trace("Got profile for %s: %s", contact.address, profile)
+            else:
+                profile = None
         else:
             # get_profile probably does a request to the servers, so let's not do that unless
             # necessary, but maybe we could listen for updates?