From bdf71946916373799f4fa18efa4997ba330f9ae0 Mon Sep 17 00:00:00 2001 From: Conan Date: Thu, 31 Jul 2025 20:35:12 +0800 Subject: [PATCH] sync: generate read receipt on SyncChat (#116) --- pkg/connector/sync.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pkg/connector/sync.go b/pkg/connector/sync.go index 3c643a73..5cdf2c8b 100644 --- a/pkg/connector/sync.go +++ b/pkg/connector/sync.go @@ -286,6 +286,21 @@ func (t *TelegramClient) handleDialogs(ctx context.Context, dialogs tg.ModifiedM if err = resultToError(res); err != nil { return err } + + // Generate a read receipt from the last known read message id + res = t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.Receipt{ + EventMeta: simplevent.EventMeta{ + Type: bridgev2.RemoteEventReadReceipt, + PortalKey: portalKey, + Sender: t.mySender(), + }, + LastTarget: ids.MakeMessageID(portalKey, dialog.ReadInboxMaxID), + ReadUpToStreamOrder: int64(dialog.ReadInboxMaxID), + }) + + if err = resultToError(res); err != nil { + return err + } } return nil }