From 1799b434ed2752ba0df39d9f6f0e5145e8807c06 Mon Sep 17 00:00:00 2001 From: Tony Cebzanov Date: Sat, 11 Jul 2026 08:54:09 -0400 Subject: [PATCH] Address review feedback: fix hideStory filter and remove redundant sync - Fix hideStory filter to require contact exists (!=null &&) instead of permitting null contacts (==null ||), matching the intent of filtering to contacts who haven't hidden stories - Remove manual sendStorySyncMessage call, as the library's sendStory already handles sync internally Co-Authored-By: Claude Opus 4.6 Claude-Session: https://claude.ai/code/session_01HHzM2XLKQoX9iraEdhoh3h --- .../signal/manager/internal/ManagerImpl.java | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/lib/src/main/java/org/asamk/signal/manager/internal/ManagerImpl.java b/lib/src/main/java/org/asamk/signal/manager/internal/ManagerImpl.java index 3b812c5e..860d1d6b 100644 --- a/lib/src/main/java/org/asamk/signal/manager/internal/ManagerImpl.java +++ b/lib/src/main/java/org/asamk/signal/manager/internal/ManagerImpl.java @@ -110,7 +110,6 @@ import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage; import org.whispersystems.signalservice.api.messages.SignalServicePreview; import org.whispersystems.signalservice.api.messages.SignalServiceReceiptMessage; import org.whispersystems.signalservice.api.messages.SignalServiceStoryMessage; -import org.whispersystems.signalservice.api.messages.SignalServiceStoryMessageRecipient; import org.whispersystems.signalservice.api.messages.SignalServiceTypingMessage; import org.whispersystems.signalservice.api.messages.calls.AnswerMessage; import org.whispersystems.signalservice.api.messages.calls.BusyMessage; @@ -119,7 +118,6 @@ import org.whispersystems.signalservice.api.messages.calls.IceUpdateMessage; import org.whispersystems.signalservice.api.messages.calls.OfferMessage; import org.whispersystems.signalservice.api.messages.calls.SignalServiceCallMessage; import org.whispersystems.signalservice.api.messages.multidevice.DeviceInfo; -import org.whispersystems.signalservice.api.push.DistributionId; import org.whispersystems.signalservice.api.push.ServiceIdType; import org.whispersystems.signalservice.api.push.exceptions.CdsiResourceExhaustedException; import org.whispersystems.signalservice.api.util.DeviceNameUtil; @@ -846,7 +844,7 @@ public class ManagerImpl implements Manager { .getRecipients(true, Optional.of(false), Set.of(), Optional.empty()); final var recipientIds = recipients.stream() .filter(r -> !r.getRecipientId().equals(account.getSelfRecipientId())) - .filter(r -> r.getContact() == null || !r.getContact().hideStory()) + .filter(r -> r.getContact() != null && !r.getContact().hideStory()) .map(r -> r.getRecipientId()) .collect(Collectors.toSet()); @@ -865,18 +863,6 @@ public class ManagerImpl implements Manager { final var sendResults = context.getSendHelper() .sendStoryMessage(storyMessage, timestamp, recipientIds, allowsReplies); - final var storyMessageRecipients = sendResults.stream() - .filter(org.whispersystems.signalservice.api.messages.SendMessageResult::isSuccess) - .map(r -> new SignalServiceStoryMessageRecipient(r.getAddress(), - List.of(DistributionId.MY_STORY.asUuid().toString()), - allowsReplies)) - .collect(Collectors.toSet()); - try { - dependencies.getMessageSender().sendStorySyncMessage(storyMessage, timestamp, false, storyMessageRecipients); - } catch (UntrustedIdentityException e) { - throw new IOException(e); - } - final var results = new HashMap>(); for (final var sendResult : sendResults) { final var result = toSendMessageResult(sendResult);