]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/internal/ManagerImpl.java
Handle all possible identifiers of a RecipientAddress
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / internal / ManagerImpl.java
index ef2e52e312ce3b754172ea684660282877666479..42bce3c63a4689da3389e2996a117636589ef6b8 100644 (file)
@@ -98,6 +98,7 @@ import org.whispersystems.signalservice.api.messages.SignalServiceReceiptMessage
 import org.whispersystems.signalservice.api.messages.SignalServiceTypingMessage;
 import org.whispersystems.signalservice.api.push.ServiceId;
 import org.whispersystems.signalservice.api.push.ServiceId.ACI;
+import org.whispersystems.signalservice.api.push.ServiceId.PNI;
 import org.whispersystems.signalservice.api.push.ServiceIdType;
 import org.whispersystems.signalservice.api.push.exceptions.CdsiResourceExhaustedException;
 import org.whispersystems.signalservice.api.util.DeviceNameUtil;
@@ -836,6 +837,9 @@ public class ManagerImpl implements Manager {
             if (recipient instanceof RecipientIdentifier.Uuid u) {
                 account.getMessageSendLogStore()
                         .deleteEntryForRecipientNonGroup(targetSentTimestamp, ACI.from(u.uuid()));
+            } else if (recipient instanceof RecipientIdentifier.Pni pni) {
+                account.getMessageSendLogStore()
+                        .deleteEntryForRecipientNonGroup(targetSentTimestamp, PNI.parseOrThrow(pni.pni()));
             } else if (recipient instanceof RecipientIdentifier.Single r) {
                 try {
                     final var recipientId = context.getRecipientHelper().resolveRecipient(r);