From 7d5e946067fef211eb56a636b0796ff88ef23eef Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 2 Mar 2019 04:09:39 +0200 Subject: [PATCH] Fix potential errors caused by deleted portals when logging out (ref #286) --- mautrix_telegram/user.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mautrix_telegram/user.py b/mautrix_telegram/user.py index 5d847617..11aacc00 100644 --- a/mautrix_telegram/user.py +++ b/mautrix_telegram/user.py @@ -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