From 88ad6483c117d5934a19bcae46127de0774b219e Mon Sep 17 00:00:00 2001 From: Morgan Pretty Date: Wed, 14 Sep 2022 12:34:08 +1000 Subject: [PATCH] Updated open groups to filter the mentions list based on blinding --- Session/Conversations/ConversationViewModel.swift | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Session/Conversations/ConversationViewModel.swift b/Session/Conversations/ConversationViewModel.swift index 757c53e26..1f08c801f 100644 --- a/Session/Conversations/ConversationViewModel.swift +++ b/Session/Conversations/ConversationViewModel.swift @@ -386,6 +386,16 @@ public class ConversationViewModel: OWSAudioPlayerDelegate { case .openGroup: let profile: TypedTableAlias = TypedTableAlias() + let capabilities: Set = (try? Capability + .select(.variant) + .filter(Capability.Columns.openGroupServer == threadData.openGroupServer) + .asRequest(of: Capability.Variant.self) + .fetchSet(db)) + .defaulting(to: []) + let targetPrefix: SessionId.Prefix = (capabilities.contains(.blind) ? + .blinded : + .standard + ) return try Interaction .select( @@ -401,6 +411,7 @@ public class ConversationViewModel: OWSAudioPlayerDelegate { .joining( required: Interaction.profile .aliased(profile) + .filter(Profile.Columns.id.like("\(targetPrefix.rawValue)%")) // Note: LIKE is case-insensitive in SQLite .filter( query.count < 2 || (