]> nmode's Git Repositories - signal-cli/commitdiff
Delete storage id of unregistered recipients after remote update
authorAsamK <asamk@gmx.de>
Wed, 25 Dec 2024 16:19:33 +0000 (17:19 +0100)
committerAsamK <asamk@gmx.de>
Wed, 25 Dec 2024 16:19:33 +0000 (17:19 +0100)
lib/src/main/java/org/asamk/signal/manager/helper/StorageHelper.java
lib/src/main/java/org/asamk/signal/manager/storage/recipients/RecipientStore.java

index 740c0b5e901078795b8a46060d520cff30e50b10..5f52585e1e490e6611bbdb139ffd602193c115dd 100644 (file)
@@ -198,17 +198,6 @@ public class StorageHelper {
 
             logger.debug("Pre-Merge ID Difference :: {}", idDifference);
 
-            if (!idDifference.localOnlyIds().isEmpty()) {
-                final var updated = account.getRecipientStore()
-                        .removeStorageIdsFromLocalOnlyUnregisteredRecipients(connection, idDifference.localOnlyIds());
-
-                if (updated > 0) {
-                    logger.warn(
-                            "Found {} records that were deleted remotely but only marked unregistered locally. Removed those from local store.",
-                            updated);
-                }
-            }
-
             if (!idDifference.isEmpty()) {
                 final var remoteOnlyRecords = getSignalStorageRecords(storageKey,
                         remoteManifest,
@@ -227,6 +216,18 @@ public class StorageHelper {
                         .filter(id -> !KNOWN_TYPES.contains(id.getType()))
                         .toList();
 
+                if (!idDifference.localOnlyIds().isEmpty()) {
+                    final var updated = account.getRecipientStore()
+                            .removeStorageIdsFromLocalOnlyUnregisteredRecipients(connection,
+                                    idDifference.localOnlyIds());
+
+                    if (updated > 0) {
+                        logger.warn(
+                                "Found {} records that were deleted remotely but only marked unregistered locally. Removed those from local store.",
+                                updated);
+                    }
+                }
+
                 logger.debug("Storage ids with unknown type: {} inserts, {} deletes",
                         unknownInserts.size(),
                         unknownDeletes.size());
index aa245369f990845bda281e030a408b28337320a5..8d0064163f43b3711f238819117a1d5a20316a5c 100644 (file)
@@ -934,7 +934,7 @@ public class RecipientStore implements RecipientIdCreator, RecipientResolver, Re
     }
 
     public void markUndiscoverablePossiblyUnregistered(final Set<String> numbers) {
-        logger.debug("Marking {} numbers as unregistered", numbers.size());
+        logger.debug("Marking {} numbers as undiscoverable", numbers.size());
         try (final var connection = database.getConnection()) {
             connection.setAutoCommit(false);
             for (final var number : numbers) {