From 8da66bc7895df2edcc347620bb3b9862906055b9 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Thu, 14 Apr 2022 10:13:11 -0400 Subject: [PATCH] Fix corner case in story distribution list syncing. --- .../org/thoughtcrime/securesms/database/RecipientDatabase.kt | 3 ++- .../java/org/thoughtcrime/securesms/jobs/StorageSyncJob.java | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.kt b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.kt index 5abef9e8e..a65abee16 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.kt @@ -85,6 +85,7 @@ import org.thoughtcrime.securesms.storage.StorageRecordUpdate import org.thoughtcrime.securesms.storage.StorageSyncHelper import org.thoughtcrime.securesms.storage.StorageSyncModels import org.thoughtcrime.securesms.util.Base64 +import org.thoughtcrime.securesms.util.FeatureFlags import org.thoughtcrime.securesms.util.GroupUtil import org.thoughtcrime.securesms.util.IdentityUtil import org.thoughtcrime.securesms.util.ProfileUtil @@ -1093,7 +1094,7 @@ open class RecipientDatabase(context: Context, databaseHelper: SignalDatabase) : * @return All storage IDs for synced records, excluding the ones that need to be deleted. */ fun getContactStorageSyncIdsMap(): Map { - val (inPart, args) = if (Recipient.self().storiesCapability == Recipient.Capability.SUPPORTED) { + val (inPart, args) = if (FeatureFlags.stories() && Recipient.self().storiesCapability == Recipient.Capability.SUPPORTED) { "(?, ?)" to SqlUtil.buildArgs(GroupType.NONE.id, Recipient.self().id, GroupType.SIGNAL_V1.id, GroupType.DISTRIBUTION_LIST.id) } else { "(?)" to SqlUtil.buildArgs(GroupType.NONE.id, Recipient.self().id, GroupType.SIGNAL_V1.id) diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/StorageSyncJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/StorageSyncJob.java index 65955dafb..c0302f2d3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/StorageSyncJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/StorageSyncJob.java @@ -448,8 +448,10 @@ public class StorageSyncJob extends BaseJob { if (record.getDistributionListId() != null) { records.add(StorageSyncModels.localToRemoteRecord(record)); } else { - throw new MissingRecipientModelError("Missing local recipient model! Type: " + id.getType()); + throw new MissingRecipientModelError("Missing local recipient model (no DistributionListId)! Type: " + id.getType()); } + } else { + throw new MissingRecipientModelError("Missing local recipient model! Type: " + id.getType()); } break; default: