From 9bb935b11f8e632f48140bc6cf53c6867cf10cbd Mon Sep 17 00:00:00 2001 From: AsamK Date: Thu, 14 Jan 2021 18:41:21 +0100 Subject: [PATCH] Always include profile key in direct messages Adjusts behavior to official client Fixes #416 --- src/main/java/org/asamk/signal/manager/Manager.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/asamk/signal/manager/Manager.java b/src/main/java/org/asamk/signal/manager/Manager.java index 23e37eef..426ee885 100644 --- a/src/main/java/org/asamk/signal/manager/Manager.java +++ b/src/main/java/org/asamk/signal/manager/Manager.java @@ -1342,16 +1342,12 @@ public class Manager implements Closeable { } } else { // Send to all individually, so sync messages are sent correctly + messageBuilder.withProfileKey(account.getProfileKey().serialize()); List results = new ArrayList<>(recipients.size()); for (SignalServiceAddress address : recipients) { - 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); - } + final ContactInfo contact = account.getContactStore().getContact(address); + final int expirationTime = contact != null ? contact.messageExpirationTime : 0; + messageBuilder.withExpiration(expirationTime); message = messageBuilder.build(); if (address.matches(account.getSelfAddress())) { results.add(sendSelfMessage(message)); -- 2.50.1