Эх сурвалжийг харах

decryption_error_message: send checkpoint

Signed-off-by: Sumner Evans <sumner@beeper.com>
Sumner Evans 2 жил өмнө
parent
commit
a90b190892

+ 11 - 3
mautrix_signal/signal.py

@@ -35,8 +35,9 @@ from mausignald.types import (
     TypingMessage,
     WebsocketConnectionStateChangeEvent,
 )
-from mautrix.types import EventID, Format, MessageType, TextMessageEventContent
+from mautrix.types import EventID, EventType, Format, MessageType, TextMessageEventContent
 from mautrix.util.logging import TraceLogger
+from mautrix.util.message_send_checkpoint import MessageSendCheckpointStatus
 
 from . import portal as po, puppet as pu, user as u
 from .db import Message as DBMessage
@@ -362,9 +363,16 @@ class SignalHandler(SignaldClient):
         if not message:
             self.log.warning("couldn't find message to referenced in decryption error")
             return
-        portal = await po.Portal.get_by_mxid(message.mx_room)
         self.log.debug(
-            f"Got decryption error message for {message.mxid} from {sender} in {portal.mxid}"
+            f"Got decryption error message for {message.mxid} from {sender.uuid} "
+            f"in {message.mx_room}"
+        )
+        user.send_remote_checkpoint(
+            status=MessageSendCheckpointStatus.DELIVERY_FAILED,
+            event_id=message.mxid,
+            room_id=message.mx_room,
+            event_type=EventType.ROOM_MESSAGE,
+            error=f"{sender.uuid} sent a decryption error message for this message",
         )
 
     async def start(self) -> None:

+ 1 - 1
requirements.txt

@@ -4,5 +4,5 @@ commonmark>=0.8,<0.10
 aiohttp>=3,<4
 yarl>=1,<2
 attrs>=19.1
-mautrix>=0.19.2,<0.20
+mautrix>=0.19.3,<0.20
 asyncpg>=0.20,<0.28