]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/manager/Manager.java
Print better error message for captcha required error
[signal-cli] / src / main / java / org / asamk / signal / manager / Manager.java
index 90e981c244bfb28816f17403f4d3b75f250ee386..c928ec17ce14c2ceb6bc96558fd3debb280dc1f1 100644 (file)
@@ -548,8 +548,7 @@ public class Manager implements Signal {
             throws IOException, EncapsulatedExceptions, AttachmentInvalidException {
         SignalServiceDataMessage.Reaction reaction = new SignalServiceDataMessage.Reaction(emoji, remove, targetAuthor, targetSentTimestamp);
         final SignalServiceDataMessage.Builder messageBuilder = SignalServiceDataMessage.newBuilder()
-                .withReaction(reaction)
-                .withProfileKey(account.getProfileKey().serialize());
+                .withReaction(reaction);
         if (groupId != null) {
             SignalServiceGroup group = SignalServiceGroup.newBuilder(SignalServiceGroup.Type.DELIVER)
                     .withId(groupId)
@@ -714,7 +713,6 @@ public class Manager implements Signal {
 
             messageBuilder.withAttachments(attachmentPointers);
         }
-        messageBuilder.withProfileKey(account.getProfileKey().serialize());
         sendMessageLegacy(messageBuilder, getSignalServiceAddresses(recipients));
     }
 
@@ -723,8 +721,7 @@ public class Manager implements Signal {
             throws IOException, EncapsulatedExceptions, AttachmentInvalidException, InvalidNumberException {
         SignalServiceDataMessage.Reaction reaction = new SignalServiceDataMessage.Reaction(emoji, remove, targetAuthor, targetSentTimestamp);
         final SignalServiceDataMessage.Builder messageBuilder = SignalServiceDataMessage.newBuilder()
-                .withReaction(reaction)
-                .withProfileKey(account.getProfileKey().serialize());
+                .withReaction(reaction);
         sendMessageLegacy(messageBuilder, getSignalServiceAddresses(recipients));
     }
 
@@ -1141,8 +1138,11 @@ public class Manager implements Signal {
             if (canonicalizedNumber.equals(username)) {
                 signalServiceAddresses.add(account.getSelfAddress());
             } else {
-                // TODO get corresponding uuid
-                signalServiceAddresses.add(new SignalServiceAddress(null, canonicalizedNumber));
+                SignalServiceAddress address = new SignalServiceAddress(null, canonicalizedNumber);
+                ContactInfo contact = account.getContactStore().getContact(address);
+                signalServiceAddresses.add(contact == null
+                        ? address
+                        : contact.getAddress());
             }
         }
         return signalServiceAddresses;
@@ -1201,8 +1201,10 @@ public class Manager implements Signal {
                     ContactInfo contact = account.getContactStore().getContact(address);
                     if (contact != null) {
                         messageBuilder.withExpiration(contact.messageExpirationTime);
+                        messageBuilder.withProfileKey(account.getProfileKey().serialize());
                     } else {
                         messageBuilder.withExpiration(0);
+                        messageBuilder.withProfileKey(null);
                     }
                     message = messageBuilder.build();
                     try {