From df67ed57eed6bab29cfbac563464f93778710aaa Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Mon, 2 Sep 2019 22:52:44 +0300 Subject: [PATCH] Don't crash bridge if startup of one user fails. Fixes #292 --- mautrix_telegram/user.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mautrix_telegram/user.py b/mautrix_telegram/user.py index 3d3ab7fa..df36fc5d 100644 --- a/mautrix_telegram/user.py +++ b/mautrix_telegram/user.py @@ -175,6 +175,12 @@ class User(AbstractUser, BaseUser): # endregion # region Telegram connection management + async def try_ensure_started(self) -> None: + try: + await self.ensure_started() + except Exception: + self.log.exception("Exception in ensure_started") + async def ensure_started(self, even_if_no_session=False) -> 'User': if not self.puppet_whitelisted or self.connected: return self @@ -432,5 +438,5 @@ def init(context: 'Context') -> Iterable[Awaitable['User']]: global config config = context.config - return (User.from_db(db_user).ensure_started() + return (User.from_db(db_user).try_ensure_started() for db_user in DBUser.all_with_tgid())