Fix potential errors caused by deleted portals when logging out (ref #286)

This commit is contained in:
Tulir Asokan
2019-03-02 04:09:39 +02:00
parent 9eda525d2a
commit 7d5e946067
+2 -2
View File
@@ -239,7 +239,7 @@ class User(AbstractUser):
if puppet.is_real_user:
await puppet.switch_mxid(None, None)
for _, portal in self.portals.items():
if not portal.mxid or portal.has_bot:
if not portal or portal.deleted or not portal.mxid or portal.has_bot:
continue
try:
await portal.main_intent.kick(portal.mxid, self.mxid, "Logged out of Telegram.")
@@ -317,7 +317,7 @@ class User(AbstractUser):
def unregister_portal(self, portal: po.Portal) -> None:
try:
del self.portals[portal.tgid_full]
self.save_portals()
self.save(portals=True)
except KeyError:
pass