From c6e93126fa70334caba38ebd87e35cd0162bb621 Mon Sep 17 00:00:00 2001 From: AsamK Date: Thu, 12 Sep 2024 23:09:20 +0200 Subject: [PATCH] Fix truncating cdsi table Fixes #1587 --- .../java/org/asamk/signal/manager/helper/RecipientHelper.java | 3 ++- .../org/asamk/signal/manager/storage/recipients/CdsiStore.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/RecipientHelper.java b/lib/src/main/java/org/asamk/signal/manager/helper/RecipientHelper.java index e003450b..24b3eb5f 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/RecipientHelper.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/RecipientHelper.java @@ -14,6 +14,7 @@ import org.whispersystems.signalservice.api.push.ServiceId; import org.whispersystems.signalservice.api.push.ServiceId.ACI; import org.whispersystems.signalservice.api.push.ServiceId.PNI; import org.whispersystems.signalservice.api.push.SignalServiceAddress; +import org.whispersystems.signalservice.api.push.exceptions.CdsiInvalidArgumentException; import org.whispersystems.signalservice.api.push.exceptions.CdsiInvalidTokenException; import org.whispersystems.signalservice.api.services.CdsiV2Service; @@ -254,7 +255,7 @@ public class RecipientHelper { account.setLastRecipientsRefresh(System.currentTimeMillis()); } }); - } catch (CdsiInvalidTokenException e) { + } catch (CdsiInvalidTokenException | CdsiInvalidArgumentException e) { account.setCdsiToken(null); account.getCdsiStore().clearAll(); throw e; diff --git a/lib/src/main/java/org/asamk/signal/manager/storage/recipients/CdsiStore.java b/lib/src/main/java/org/asamk/signal/manager/storage/recipients/CdsiStore.java index fd0846e9..1170e651 100644 --- a/lib/src/main/java/org/asamk/signal/manager/storage/recipients/CdsiStore.java +++ b/lib/src/main/java/org/asamk/signal/manager/storage/recipients/CdsiStore.java @@ -156,7 +156,7 @@ public class CdsiStore { public void clearAll() { final var sql = ( """ - TRUNCATE %s + DELETE FROM %s """ ).formatted(TABLE_CDSI); try (final var connection = database.getConnection()) { -- 2.50.1