final SignalServiceReceiptMessage receiptMessage
) {
try {
- final var result = context.getSendHelper()
- .sendReceiptMessage(receiptMessage, context.getRecipientHelper().resolveRecipient(sender));
+ final var recipientId = context.getRecipientHelper().resolveRecipient(sender);
+ final var result = context.getSendHelper().sendReceiptMessage(receiptMessage, recipientId);
+
+ final var serviceId = account.getRecipientAddressResolver()
+ .resolveRecipientAddress(recipientId)
+ .serviceId();
+ if (serviceId.isPresent()) {
+ context.getSyncHelper().sendSyncReceiptMessage(serviceId.get(), receiptMessage);
+ }
return new SendMessageResults(timestamp, Map.of(sender, List.of(toSendMessageResult(result))));
} catch (UnregisteredRecipientException e) {
return new SendMessageResults(timestamp,