fix(gateway): fix matrix read receipts

This commit is contained in:
asheriif
2026-04-15 13:03:31 +00:00
committed by Teknium
parent 1dd6b5d5fb
commit 6c34bf3d00
3 changed files with 52 additions and 10 deletions

View File

@@ -1598,11 +1598,21 @@ class MatrixAdapter(BasePlatformAdapter):
if not self._client:
return False
try:
await self._client.set_read_markers(
RoomID(room_id),
fully_read_event=EventID(event_id),
read_receipt=EventID(event_id),
)
room = RoomID(room_id)
event = EventID(event_id)
if hasattr(self._client, "set_fully_read_marker"):
await self._client.set_fully_read_marker(room, event, event)
elif hasattr(self._client, "send_receipt"):
await self._client.send_receipt(room, event)
elif hasattr(self._client, "set_read_markers"):
await self._client.set_read_markers(
room,
fully_read_event=event,
read_receipt=event,
)
else:
logger.debug("Matrix: client has no read receipt method")
return False
logger.debug("Matrix: sent read receipt for %s in %s", event_id, room_id)
return True
except Exception as exc: