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 || (