]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/helper/IncomingMessageHandler.java
Retry failed messages after trusting a new identity
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / helper / IncomingMessageHandler.java
index 3fc040bc737d917dba057b74b7ef3f129bf9cd3e..db854ef6d6ba935b54c9a9702308c8d68e165e69 100644 (file)
@@ -106,6 +106,7 @@ public final class IncomingMessageHandler {
 
         SignalServiceContent content = null;
         if (!envelope.isReceipt()) {
+            account.getIdentityKeyStore().setRetryingDecryption(true);
             try {
                 content = dependencies.getCipher().decrypt(envelope);
             } catch (ProtocolUntrustedIdentityException e) {
@@ -115,6 +116,8 @@ public final class IncomingMessageHandler {
                 return new Pair<>(List.of(), exception);
             } catch (Exception e) {
                 return new Pair<>(List.of(), e);
+            } finally {
+                account.getIdentityKeyStore().setRetryingDecryption(false);
             }
         }
         actions.addAll(checkAndHandleMessage(envelope, content, ignoreAttachments, handler, null));