From de6b9bc4ef1a7620f345153a8a88b4f1484024dd Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Mon, 6 Jan 2025 13:38:05 -0400 Subject: [PATCH] Exclude unregistered group members from invalid collisions check. Fixes #13866 --- .../thoughtcrime/securesms/database/NameCollisionTables.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/NameCollisionTables.kt b/app/src/main/java/org/thoughtcrime/securesms/database/NameCollisionTables.kt index 79787dfc11..9487854c5c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/NameCollisionTables.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/NameCollisionTables.kt @@ -177,7 +177,12 @@ class NameCollisionTables( val groupMembers: Optional> = SignalDatabase.groups.getGroup(recipientId).map { it.members } val invalidCollisions: Set = collisions.filter { - groupMembers.isPresent && (it.recipient.id !in groupMembers.get()) + if (groupMembers.isPresent) { + val notAMember = it.recipient.id !in groupMembers.get() + val unregistered = it.recipient.isUnregistered + + notAMember || unregistered + } else false }.toSet() val groups = (collisions - invalidCollisions).groupBy { SqlUtil.buildCaseInsensitiveGlobPattern(it.recipient.getDisplayName(context)) }