From af6d4a1dc065e7a3f46deca226f803cade6d535d Mon Sep 17 00:00:00 2001 From: Morgan Pretty Date: Fri, 14 Jan 2022 09:17:23 +1100 Subject: [PATCH] Fixed the initial open group mention list --- .../Sending & Receiving/Mentions/MentionsManager.swift | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/SessionMessagingKit/Sending & Receiving/Mentions/MentionsManager.swift b/SessionMessagingKit/Sending & Receiving/Mentions/MentionsManager.swift index e1117aa21..9463002b6 100644 --- a/SessionMessagingKit/Sending & Receiving/Mentions/MentionsManager.swift +++ b/SessionMessagingKit/Sending & Receiving/Mentions/MentionsManager.swift @@ -62,7 +62,15 @@ public final class MentionsManager : NSObject { if let groupThread = thread as? TSGroupThread, groupThread.groupModel.groupType == .closedGroup { result = result.union(groupThread.groupModel.groupMemberIds).subtracting([ getUserHexEncodedPublicKey() ]) } else { - guard userPublicKeyCache[threadID] == nil else { return } + let hasOnlyCurrentUser: Bool = ( + userPublicKeyCache[threadID]?.count == 1 && + userPublicKeyCache[threadID]?.first == getUserHexEncodedPublicKey() + ) + + guard userPublicKeyCache[threadID] == nil || ((thread as? TSGroupThread)?.groupModel.groupType == .openGroup && hasOnlyCurrentUser) else { + return + } + let interactions = transaction.ext(TSMessageDatabaseViewExtensionName) as! YapDatabaseViewTransaction interactions.enumerateKeysAndObjects(inGroup: threadID) { _, _, object, index, _ in guard let message = object as? TSIncomingMessage, index < userIDScanLimit else { return }