From 11aa2eabf12db6248f716c1f22de65cd19bde0d8 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sun, 13 Oct 2024 17:14:56 +0300 Subject: [PATCH] web/api: add mark read method --- go.mod | 2 +- go.sum | 4 ++-- web/src/api/rpc.ts | 5 +++++ web/src/api/types/mxtypes.ts | 1 + 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index ad84378..2ce031c 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( golang.org/x/crypto v0.27.0 gopkg.in/yaml.v3 v3.0.1 maunium.net/go/mauflag v1.0.0 - maunium.net/go/mautrix v0.21.1-0.20241012151422-226144ca9f85 + maunium.net/go/mautrix v0.21.1-0.20241013141433-5cccf93cdc6a ) require ( diff --git a/go.sum b/go.sum index 14f31cb..a219cd8 100644 --- a/go.sum +++ b/go.sum @@ -66,5 +66,5 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= maunium.net/go/mauflag v1.0.0 h1:YiaRc0tEI3toYtJMRIfjP+jklH45uDHtT80nUamyD4M= maunium.net/go/mauflag v1.0.0/go.mod h1:nLivPOpTpHnpzEh8jEdSL9UqO9+/KBJFmNRlwKfkPeA= -maunium.net/go/mautrix v0.21.1-0.20241012151422-226144ca9f85 h1:nX9wlCdRTyIdweQPde+XBOn9uyXhd1VfQB9cIp7jC2k= -maunium.net/go/mautrix v0.21.1-0.20241012151422-226144ca9f85/go.mod h1:yIs8uVcl3ZiTuDzAYmk/B4/z9dQqegF0rcOWV4ncgko= +maunium.net/go/mautrix v0.21.1-0.20241013141433-5cccf93cdc6a h1:faC83lFuKSS9wTrR2pa1mm0JZkUHa5NA6eA0LVQSrDs= +maunium.net/go/mautrix v0.21.1-0.20241013141433-5cccf93cdc6a/go.mod h1:yIs8uVcl3ZiTuDzAYmk/B4/z9dQqegF0rcOWV4ncgko= diff --git a/web/src/api/rpc.ts b/web/src/api/rpc.ts index f0ae5a4..2cea8a1 100644 --- a/web/src/api/rpc.ts +++ b/web/src/api/rpc.ts @@ -24,6 +24,7 @@ import type { RPCCommand, RPCEvent, RawDBEvent, + ReceiptType, RoomID, TimelineRowID, UserID, @@ -117,6 +118,10 @@ export default abstract class RPCClient { return this.request("send_event", { room_id, type, content }) } + markRead(room_id: RoomID, event_id: EventID, receipt_type: ReceiptType = "m.read"): Promise { + return this.request("mark_read", { room_id, event_id, receipt_type }) + } + ensureGroupSessionShared(room_id: RoomID): Promise { return this.request("ensure_group_session_shared", { room_id }) } diff --git a/web/src/api/types/mxtypes.ts b/web/src/api/types/mxtypes.ts index 469d5f9..b530bd7 100644 --- a/web/src/api/types/mxtypes.ts +++ b/web/src/api/types/mxtypes.ts @@ -20,6 +20,7 @@ export type DeviceID = string export type EventType = string export type ContentURI = string export type RoomAlias = string +export type ReceiptType = "m.read" | "m.read.private" export type RoomVersion = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" export type RoomType = "" | "m.space" export type RelationType = "m.annotation" | "m.reference" | "m.replace" | "m.thread"