]> nmode's Git Repositories - signal-cli/commitdiff
Delete cached failed messages after 30 days
authorAsamK <asamk@gmx.de>
Thu, 26 Aug 2021 13:26:25 +0000 (15:26 +0200)
committerAsamK <asamk@gmx.de>
Thu, 26 Aug 2021 13:26:25 +0000 (15:26 +0200)
lib/src/main/java/org/asamk/signal/manager/Manager.java

index 0d06dfba97a7976e5e35467622f5743e084821a9..bbdfa9e5ed817dac407586114b715193677aa91a 100644 (file)
@@ -851,6 +851,11 @@ public class Manager implements Closeable {
             try {
                 content = dependencies.getCipher().decrypt(envelope);
             } catch (ProtocolUntrustedIdentityException e) {
+                if (System.currentTimeMillis() - envelope.getServerDeliveredTimestamp() > 1000L * 60 * 60 * 24 * 30) {
+                    // Envelope is more than a month old, cleaning up.
+                    cachedMessage.delete();
+                    return null;
+                }
                 if (!envelope.hasSource()) {
                     final var identifier = e.getSender();
                     final var recipientId = resolveRecipient(identifier);