From ec6448bd1b4a06c9daa261d61a953681a9bcd20c Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 21 Apr 2025 13:36:48 -0400 Subject: [PATCH] Address possible invalid e164's in storage service splits. --- .../org/thoughtcrime/securesms/database/RecipientTable.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt index 7952727dc1..0b4771c57c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientTable.kt @@ -2370,7 +2370,10 @@ open class RecipientTable(context: Context, databaseHelper: SignalDatabase) : Da val recipientId = getByAci(aci).getOrNull() ?: return val record = getRecord(recipientId) - if (record.pni == null && record.e164 == null) { + val pni = record.pni + val e164 = record.e164?.takeIf { SignalE164Util.isPotentialE164(it) } + + if (pni == null && e164 == null) { return } @@ -2385,7 +2388,7 @@ open class RecipientTable(context: Context, databaseHelper: SignalDatabase) : Da .where("$ID = ?", record.id) .run() - getAndPossiblyMerge(null, record.pni, record.e164) + getAndPossiblyMerge(null, pni, e164) } fun processIndividualCdsLookup(aci: ACI?, pni: PNI, e164: String): RecipientId {