From 4e8c373d1b52e1dfcbefc8f2e4ffecb44b296605 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 20 Oct 2021 20:24:47 +0300 Subject: [PATCH] Delete session on log_out() even if telegram logout fails --- mautrix_telegram/user.py | 5 ++--- mautrix_telegram/web/provisioning/__init__.py | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/mautrix_telegram/user.py b/mautrix_telegram/user.py index 86e2f7d4..7430fb16 100644 --- a/mautrix_telegram/user.py +++ b/mautrix_telegram/user.py @@ -398,12 +398,11 @@ class User(AbstractUser, BaseUser): self.tgid = None await self.save() ok = await self.client.log_out() - if not ok: - return False + self.client.session.delete() self.delete() await self.stop() self._track_metric(METRIC_LOGGED_IN, False) - return True + return ok def _search_local(self, query: str, max_results: int = 5, min_similarity: int = 45 ) -> List[SearchResult]: diff --git a/mautrix_telegram/web/provisioning/__init__.py b/mautrix_telegram/web/provisioning/__init__.py index a7308761..e78b2342 100644 --- a/mautrix_telegram/web/provisioning/__init__.py +++ b/mautrix_telegram/web/provisioning/__init__.py @@ -465,7 +465,7 @@ class ProvisioningAPI(AuthAPI): Optional[web.Response]]): err = self.check_authorization(request) if err is not None: - return err + return None, None, err data = None if want_data and (request.method == "POST" or request.method == "PUT"):