From d4067eb39d618b83c92e3f743ab90ee28f22aee5 Mon Sep 17 00:00:00 2001 From: ryanzhao Date: Thu, 16 Sep 2021 10:20:18 +1000 Subject: [PATCH] mark previous messages as read if there is a sync message --- .../Sending & Receiving/MessageReceiver+Handling.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift b/SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift index e06c502b9..cd42d6a2f 100644 --- a/SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift +++ b/SessionMessagingKit/Sending & Receiving/MessageReceiver+Handling.swift @@ -318,6 +318,11 @@ extension MessageReceiver { tsMessage.openGroupServerMessageID = serverID tsMessage.save(with: transaction) } + // Mark previous messages as read if there is a sync message + if let tsOutgoingMessage = TSMessage.fetch(uniqueId: tsMessageID, transaction: transaction) as? TSOutgoingMessage, + let thread = TSThread.fetch(uniqueId: threadID, transaction: transaction) { + OWSReadReceiptManager.shared().markAsReadLocally(beforeSortId: tsOutgoingMessage.sortId, thread: thread) + } // Notify the user if needed guard (isMainAppAndActive || isBackgroundPoll), let tsIncomingMessage = TSMessage.fetch(uniqueId: tsMessageID, transaction: transaction) as? TSIncomingMessage, let thread = TSThread.fetch(uniqueId: threadID, transaction: transaction) else { return tsMessageID }