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 5f1d90fd..2d4e5977 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 @@ -909,6 +909,10 @@ public class ManagerImpl implements Manager { throw new IOException("Stories are only supported for V2 groups"); } + if (groupInfoV2.getMembersWithout(account.getSelfRecipientId()).isEmpty()) { + throw new IOException("No other members in group for story delivery"); + } + final var uploadedAttachment = context.getAttachmentHelper().uploadAttachment(attachment); final var groupContext = SignalServiceGroupV2.newBuilder(groupInfoV2.getMasterKey()) .withRevision(groupInfoV2.getGroup() == null ? 0 : groupInfoV2.getGroup().revision) diff --git a/src/main/java/org/asamk/signal/dbus/DbusManagerImpl.java b/src/main/java/org/asamk/signal/dbus/DbusManagerImpl.java index 3de99600..3d0ab841 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusManagerImpl.java +++ b/src/main/java/org/asamk/signal/dbus/DbusManagerImpl.java @@ -543,7 +543,11 @@ public class DbusManagerImpl implements Manager { } @Override - public SendMessageResults sendStory(String attachment, boolean allowsReplies) { + public SendMessageResults sendStory( + String attachment, + boolean allowsReplies, + Optional groupId + ) { throw new UnsupportedOperationException(); } diff --git a/src/test/java/org/asamk/signal/http/SseInitialFlushTest.java b/src/test/java/org/asamk/signal/http/SseInitialFlushTest.java index 6f029696..d9db912f 100644 --- a/src/test/java/org/asamk/signal/http/SseInitialFlushTest.java +++ b/src/test/java/org/asamk/signal/http/SseInitialFlushTest.java @@ -350,7 +350,11 @@ class SseInitialFlushTest { } @Override - public SendMessageResults sendStory(String attachment, boolean allowsReplies) { + public SendMessageResults sendStory( + String attachment, + boolean allowsReplies, + Optional groupId + ) { return new SendMessageResults(0, Map.of()); } diff --git a/src/test/java/org/asamk/signal/jsonrpc/SubscribeCallEventsTest.java b/src/test/java/org/asamk/signal/jsonrpc/SubscribeCallEventsTest.java index 50836cac..bd99e7d5 100644 --- a/src/test/java/org/asamk/signal/jsonrpc/SubscribeCallEventsTest.java +++ b/src/test/java/org/asamk/signal/jsonrpc/SubscribeCallEventsTest.java @@ -368,7 +368,11 @@ class SubscribeCallEventsTest { } @Override - public SendMessageResults sendStory(String attachment, boolean allowsReplies) { + public SendMessageResults sendStory( + String attachment, + boolean allowsReplies, + Optional groupId + ) { return new SendMessageResults(0, Map.of()); }