- final var result = sendHelper.sendReceiptMessage(receiptMessage, recipientHelper.resolveRecipient(sender));
- return new SendMessageResults(timestamp,
- Map.of(sender,
- List.of(SendMessageResult.from(result,
- account.getRecipientStore(),
- account.getRecipientStore()::resolveRecipientAddress))));
+ return sendReceiptMessage(sender, timestamp, receiptMessage);
+ }
+
+ private SendMessageResults sendReceiptMessage(
+ final RecipientIdentifier.Single sender,
+ final long timestamp,
+ final SignalServiceReceiptMessage receiptMessage
+ ) throws IOException {
+ try {
+ final var result = sendHelper.sendReceiptMessage(receiptMessage, recipientHelper.resolveRecipient(sender));
+ return new SendMessageResults(timestamp,
+ Map.of(sender,
+ List.of(SendMessageResult.from(result,
+ account.getRecipientStore(),
+ account.getRecipientStore()::resolveRecipientAddress))));
+ } catch (UnregisteredRecipientException e) {
+ return new SendMessageResults(timestamp,
+ Map.of(sender, List.of(SendMessageResult.unregisteredFailure(sender.toPartialRecipientAddress()))));
+ }