diff --git a/SessionMessagingKit/Common Networking/QueryParam.swift b/SessionMessagingKit/Common Networking/QueryParam.swift index 78b2c78f1..184c6d4da 100644 --- a/SessionMessagingKit/Common Networking/QueryParam.swift +++ b/SessionMessagingKit/Common Networking/QueryParam.swift @@ -11,4 +11,5 @@ enum QueryParam: String { case platform // For file server session version check case reactions = "t" + case reactors = "reactors" } diff --git a/SessionMessagingKit/Messages/Message.swift b/SessionMessagingKit/Messages/Message.swift index 6aeaa1788..dcede8ef5 100644 --- a/SessionMessagingKit/Messages/Message.swift +++ b/SessionMessagingKit/Messages/Message.swift @@ -366,7 +366,7 @@ public extension Message { reactions: [String:OpenGroupAPI.Message.Reaction]?, serverExpirationTimestamp: TimeInterval?, serverHash: String?, - openGroupId: String? = nil, + openGroupId: String, openGroupMessageServerId: Int64? = nil, openGroupServerPublicKey: String? = nil, dependencies: SMKDependencies = SMKDependencies() @@ -374,6 +374,11 @@ public extension Message { var results: [Reaction] = [] guard let openGroupMessageServerId = openGroupMessageServerId, let reactions = reactions else { return results } let userPublicKey: String = getUserHexEncodedPublicKey(db) + let blindedUserPublicKey: String? = SessionThread + .getUserHexEncodedBlindedKey( + threadId: openGroupId, + threadVariant: .openGroup + ) for (encodedEmoji, rawReaction) in reactions { if let emoji = encodedEmoji.removingPercentEncoding, rawReaction.count > 0, @@ -381,6 +386,7 @@ public extension Message { { var count = rawReaction.count for reactor in reactors { + if reactor == blindedUserPublicKey { continue } // Will add a reaction for this case outside of the loop let reaction = Reaction( interactionId: openGroupMessageServerId, serverHash: nil, diff --git a/SessionMessagingKit/Open Groups/OpenGroupAPI.swift b/SessionMessagingKit/Open Groups/OpenGroupAPI.swift index 24a83b4ee..6191b4ded 100644 --- a/SessionMessagingKit/Open Groups/OpenGroupAPI.swift +++ b/SessionMessagingKit/Open Groups/OpenGroupAPI.swift @@ -96,7 +96,9 @@ public enum OpenGroupAPI { endpoint: (shouldRetrieveRecentMessages ? .roomMessagesRecent(openGroup.roomToken) : .roomMessagesSince(openGroup.roomToken, seqNo: openGroup.sequenceNumber) - ) + ), + queryParameters: [.reactions: "r", + .reactors: "20"] ), responseType: [Failable].self )