Catch errors when updating read status or tags. Fixes #812
This commit is contained in:
+13
-10
@@ -582,16 +582,19 @@ class User(DBUser, AbstractUser, BaseUser):
|
|||||||
last_read = await DBMessage.get_one_by_tgid(
|
last_read = await DBMessage.get_one_by_tgid(
|
||||||
portal.tgid, tg_space, dialog.dialog.read_inbox_max_id
|
portal.tgid, tg_space, dialog.dialog.read_inbox_max_id
|
||||||
)
|
)
|
||||||
if last_read:
|
try:
|
||||||
await puppet.intent.mark_read(last_read.mx_room, last_read.mxid)
|
if last_read:
|
||||||
if was_created or not self.config["bridge.tag_only_on_create"]:
|
await puppet.intent.mark_read(last_read.mx_room, last_read.mxid)
|
||||||
await self._mute_room(puppet, portal, dialog.dialog.notify_settings.mute_until)
|
if was_created or not self.config["bridge.tag_only_on_create"]:
|
||||||
await self._tag_room(
|
await self._mute_room(puppet, portal, dialog.dialog.notify_settings.mute_until)
|
||||||
puppet, portal, self.config["bridge.pinned_tag"], dialog.pinned
|
await self._tag_room(
|
||||||
)
|
puppet, portal, self.config["bridge.pinned_tag"], dialog.pinned
|
||||||
await self._tag_room(
|
)
|
||||||
puppet, portal, self.config["bridge.archive_tag"], dialog.archived
|
await self._tag_room(
|
||||||
)
|
puppet, portal, self.config["bridge.archive_tag"], dialog.archived
|
||||||
|
)
|
||||||
|
except Exception:
|
||||||
|
self.log.exception(f"Error updating read status and tags for {portal.tgid_log}")
|
||||||
|
|
||||||
async def get_cached_portals(self) -> dict[tuple[TelegramID, TelegramID], po.Portal]:
|
async def get_cached_portals(self) -> dict[tuple[TelegramID, TelegramID], po.Portal]:
|
||||||
if self._portals_cache is None:
|
if self._portals_cache is None:
|
||||||
|
|||||||
Reference in New Issue
Block a user