]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/ReceiveMessageHandler.java
Add option to send read receipts for all received data messages
[signal-cli] / src / main / java / org / asamk / signal / ReceiveMessageHandler.java
index 4e44497f76904b3f2add3d2a791b0f08e7d4b5b3..04a7be030c8edc220c13a0ba8e8f9c5dedb7873b 100644 (file)
@@ -1,16 +1,17 @@
 package org.asamk.signal;
 
 import org.asamk.signal.manager.Manager;
-import org.asamk.signal.manager.UntrustedIdentityException;
 import org.asamk.signal.manager.api.MessageEnvelope;
 import org.asamk.signal.manager.api.RecipientIdentifier;
+import org.asamk.signal.manager.api.UntrustedIdentityException;
 import org.asamk.signal.manager.groups.GroupId;
 import org.asamk.signal.manager.storage.recipients.RecipientAddress;
+import org.asamk.signal.output.PlainTextWriter;
 import org.asamk.signal.util.DateUtils;
+import org.asamk.signal.util.Hex;
 import org.slf4j.helpers.MessageFormatter;
 
 import java.util.ArrayList;
-import java.util.Base64;
 import java.util.stream.Collectors;
 
 public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler {
@@ -49,13 +50,13 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler {
                         "The user’s key is untrusted, either the user has reinstalled Signal or a third party sent this message.");
                 final var recipientName = e.getSender().getLegacyIdentifier();
                 writer.println(
-                        "Use 'signal-cli -u {} listIdentities -n {}', verify the key and run 'signal-cli -u {} trust -v \"FINGER_PRINT\" {}' to mark it as trusted",
+                        "Use 'signal-cli -a {} listIdentities -n {}', verify the key and run 'signal-cli -a {} trust -v \"FINGER_PRINT\" {}' to mark it as trusted",
                         m.getSelfNumber(),
                         recipientName,
                         m.getSelfNumber(),
                         recipientName);
                 writer.println(
-                        "If you don't care about security, use 'signal-cli -u {} trust -a {}' to trust it without verification",
+                        "If you don't care about security, use 'signal-cli -a {} trust -a {}' to trust it without verification",
                         m.getSelfNumber(),
                         recipientName);
             } else {
@@ -297,8 +298,10 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler {
                         .println("Expiration started at: {}",
                                 DateUtils.formatTimestamp(sentTranscriptMessage.expirationStartTimestamp()));
             }
-            var message = sentTranscriptMessage.message();
-            printDataMessage(writer.indentedWriter(), message);
+            if (sentTranscriptMessage.message().isPresent()) {
+                var message = sentTranscriptMessage.message().get();
+                printDataMessage(writer.indentedWriter(), message);
+            }
         }
         if (syncMessage.blocked().isPresent()) {
             writer.println("Received sync message with block list");
@@ -308,7 +311,7 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler {
                 writer.println("- {}", address.getLegacyIdentifier());
             }
             for (var groupId : blockedList.groupIds()) {
-                writer.println("- {}", groupId);
+                writer.println("- {}", groupId.toBase64());
             }
         }
         if (syncMessage.viewOnceOpen().isPresent()) {
@@ -348,8 +351,7 @@ public class ReceiveMessageHandler implements Manager.ReceiveMessageHandler {
     private void printSticker(
             final PlainTextWriter writer, final MessageEnvelope.Data.Sticker sticker
     ) {
-        writer.println("Pack id: {}", Base64.getEncoder().encodeToString(sticker.packId()));
-        writer.println("Pack key: {}", Base64.getEncoder().encodeToString(sticker.packKey()));
+        writer.println("Pack id: {}", Hex.toStringCondensed(sticker.packId().serialize()));
         writer.println("Sticker id: {}", sticker.stickerId());
     }