From c54958f0a9c5ff135ccadbce738a9da4b52d9bc4 Mon Sep 17 00:00:00 2001 From: Michelle Tang Date: Wed, 12 Mar 2025 21:43:17 -0400 Subject: [PATCH] Fix crash in migration job. --- .../securesms/migrations/E164FormattingMigrationJob.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/migrations/E164FormattingMigrationJob.kt b/app/src/main/java/org/thoughtcrime/securesms/migrations/E164FormattingMigrationJob.kt index aaad58078d..da1aa7384b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/migrations/E164FormattingMigrationJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/migrations/E164FormattingMigrationJob.kt @@ -9,6 +9,7 @@ import org.signal.core.util.requireLong import org.signal.core.util.requireNonNullString import org.signal.core.util.select import org.signal.core.util.update +import org.signal.core.util.withinTransaction import org.thoughtcrime.securesms.database.MessageTable import org.thoughtcrime.securesms.database.RecipientTable import org.thoughtcrime.securesms.database.RecipientTable.Companion.ACI_COLUMN @@ -73,7 +74,9 @@ internal class E164FormattingMigrationJob( val existing: Optional = SignalDatabase.recipients.getByE164(formattedE164) if (existing.isPresent) { Log.w(TAG, "Merging ${existing.get()} and $id", true) - SignalDatabase.recipients.mergeForMigration(existing.get(), id) + SignalDatabase.rawDatabase.withinTransaction { + SignalDatabase.recipients.mergeForMigration(existing.get(), id) + } Log.w(TAG, "Successfully merged ${existing.get()} and $id", true) } else { Log.w(TAG, "Unable to set E164, and it's not a conflict? Crashing.", e)