From 9188251501acea0e87d62e3f8e93610c04e9f7b5 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 12 Jul 2022 15:05:06 +0300 Subject: [PATCH] Add status field to message status events --- mautrix_telegram/portal.py | 14 ++++++++++---- requirements.txt | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/mautrix_telegram/portal.py b/mautrix_telegram/portal.py index 0577bf06..8d7bc888 100644 --- a/mautrix_telegram/portal.py +++ b/mautrix_telegram/portal.py @@ -144,6 +144,7 @@ from mautrix.types import ( MediaMessageEventContent, Membership, MessageEventContent, + MessageStatus, MessageStatusReason, MessageType, PowerLevelStateEventContent, @@ -1840,13 +1841,18 @@ class Portal(DBPortal, BasePortal): rel_type=RelationType.REFERENCE, event_id=event_id, ), - success=err is None, ) - if err: + if isinstance(err, IgnoredMessageError): + status.status = MessageStatus.FAIL + status.error = str(err) + status.reason = MessageStatusReason.UNSUPPORTED + elif err: status.reason = MessageStatusReason.GENERIC_ERROR status.error = str(err) - status.is_certain = True - status.can_retry = not isinstance(err, IgnoredMessageError) + status.status = MessageStatus.RETRIABLE + else: + status.status = MessageStatus.SUCCESS + status.fill_legacy_booleans() await intent.send_message_event( room_id=self.mxid, diff --git a/requirements.txt b/requirements.txt index 5dd3d9c0..475c6abe 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,7 @@ python-magic>=0.4,<0.5 commonmark>=0.8,<0.10 aiohttp>=3,<4 yarl>=1,<2 -mautrix>=0.17.2,<0.18 +mautrix>=0.17.3,<0.18 #telethon>=1.24,<1.25 tulir-telethon==1.25.0a19 asyncpg>=0.20,<0.27