deal with blinded id reactor

pull/638/head
Ryan Zhao 3 years ago
parent 4d0b47fa7f
commit 37f876dffd

@ -11,4 +11,5 @@ enum QueryParam: String {
case platform // For file server session version check case platform // For file server session version check
case reactions = "t" case reactions = "t"
case reactors = "reactors"
} }

@ -366,7 +366,7 @@ public extension Message {
reactions: [String:OpenGroupAPI.Message.Reaction]?, reactions: [String:OpenGroupAPI.Message.Reaction]?,
serverExpirationTimestamp: TimeInterval?, serverExpirationTimestamp: TimeInterval?,
serverHash: String?, serverHash: String?,
openGroupId: String? = nil, openGroupId: String,
openGroupMessageServerId: Int64? = nil, openGroupMessageServerId: Int64? = nil,
openGroupServerPublicKey: String? = nil, openGroupServerPublicKey: String? = nil,
dependencies: SMKDependencies = SMKDependencies() dependencies: SMKDependencies = SMKDependencies()
@ -374,6 +374,11 @@ public extension Message {
var results: [Reaction] = [] var results: [Reaction] = []
guard let openGroupMessageServerId = openGroupMessageServerId, let reactions = reactions else { return results } guard let openGroupMessageServerId = openGroupMessageServerId, let reactions = reactions else { return results }
let userPublicKey: String = getUserHexEncodedPublicKey(db) let userPublicKey: String = getUserHexEncodedPublicKey(db)
let blindedUserPublicKey: String? = SessionThread
.getUserHexEncodedBlindedKey(
threadId: openGroupId,
threadVariant: .openGroup
)
for (encodedEmoji, rawReaction) in reactions { for (encodedEmoji, rawReaction) in reactions {
if let emoji = encodedEmoji.removingPercentEncoding, if let emoji = encodedEmoji.removingPercentEncoding,
rawReaction.count > 0, rawReaction.count > 0,
@ -381,6 +386,7 @@ public extension Message {
{ {
var count = rawReaction.count var count = rawReaction.count
for reactor in reactors { for reactor in reactors {
if reactor == blindedUserPublicKey { continue } // Will add a reaction for this case outside of the loop
let reaction = Reaction( let reaction = Reaction(
interactionId: openGroupMessageServerId, interactionId: openGroupMessageServerId,
serverHash: nil, serverHash: nil,

@ -96,7 +96,9 @@ public enum OpenGroupAPI {
endpoint: (shouldRetrieveRecentMessages ? endpoint: (shouldRetrieveRecentMessages ?
.roomMessagesRecent(openGroup.roomToken) : .roomMessagesRecent(openGroup.roomToken) :
.roomMessagesSince(openGroup.roomToken, seqNo: openGroup.sequenceNumber) .roomMessagesSince(openGroup.roomToken, seqNo: openGroup.sequenceNumber)
) ),
queryParameters: [.reactions: "r",
.reactors: "20"]
), ),
responseType: [Failable<Message>].self responseType: [Failable<Message>].self
) )

Loading…
Cancel
Save