]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/Manager.java
Delete cached failed messages after 30 days
[signal-cli] / 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);