From d2e19c512951931732b08da70dd579853acf3829 Mon Sep 17 00:00:00 2001 From: Clark Date: Wed, 13 Dec 2023 13:33:03 -0500 Subject: [PATCH] Fix case where we delete unknown remote records. --- .../java/org/thoughtcrime/securesms/jobs/StorageSyncJob.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 583a5fe21d..cadb9f69f6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/StorageSyncJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/StorageSyncJob.java @@ -331,9 +331,9 @@ public class StorageSyncJob extends BaseJob { Log.i(TAG, "Removed " + removedUnregistered + " recipients from storage service that have been unregistered for longer than 30 days."); } - List localStorageIds = getAllLocalStorageIds(self).stream().filter(it -> !it.isUnknown()).collect(Collectors.toList()); + List localStorageIds = getAllLocalStorageIds(self); IdDifferenceResult idDifference = StorageSyncHelper.findIdDifference(remoteManifest.getStorageIds(), localStorageIds); - List remoteInserts = buildLocalStorageRecords(context, self, idDifference.getLocalOnlyIds()); + List remoteInserts = buildLocalStorageRecords(context, self, idDifference.getLocalOnlyIds().stream().filter(it -> !it.isUnknown()).collect(Collectors.toList())); List remoteDeletes = Stream.of(idDifference.getRemoteOnlyIds()).map(StorageId::getRaw).toList(); Log.i(TAG, "ID Difference :: " + idDifference);