]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/ReceiveMessageHandler.java
Renew session if message decryption fails with ProtocolInvalidMessageException
[signal-cli] / src / main / java / org / asamk / signal / ReceiveMessageHandler.java
index 91df4b0697a17c132b63194242ec30a622223b82..ce4f10686e630077cca42b560b910e5081b9157c 100644 (file)
@@ -18,6 +18,7 @@ import org.whispersystems.signalservice.api.messages.calls.SignalServiceCallMess
 import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage;
 import org.whispersystems.signalservice.api.messages.shared.SharedContact;
 import org.whispersystems.signalservice.api.push.SignalServiceAddress;
+import org.whispersystems.signalservice.api.util.InvalidNumberException;
 
 import java.io.IOException;
 import java.util.Base64;
@@ -83,7 +84,7 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler {
                 }
             }
             if (content == null) {
-                writer.println("Failed to decrypt message.");
+                writer.println("No message content");
             } else {
                 writer.println("Sender: {} (device: {})",
                         formatContact(content.getSender()),
@@ -667,7 +668,11 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler {
 
     private String formatContact(SignalServiceAddress address) {
         final var number = address.getLegacyIdentifier();
-        var name = m.getContactOrProfileName(number);
+        String name = null;
+        try {
+            name = m.getContactOrProfileName(number);
+        } catch (InvalidNumberException ignored) {
+        }
         if (name == null || name.isEmpty()) {
             return number;
         } else {