First cut at sendStoryMessge issue #1592 #1713
Open
+213
−31
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
For issue #1592
With the above changes running in jsonrpc mode, if this is pasted into console:
{"jsonrpc":"2.0","method":"send","params":{"attachment":"C:\Users\slewi\Desktop\slewis.PNG","story":true,"group-id":"JTJ9xDBSHH3UNI2wSGfC8iBHNC/gyJfzAoh4R5ge2ow=","message":"MyMESSAGE1"},"id":17}
where there is a slewis.PNG image file, note new property "story":true, and group-id is an existing group of my creation with one other receiver in the group. The server responds:
{"jsonrpc":"2.0","result":{"results":[{"recipientAddress":{"uuid":"f483a783-d1e3-4c30-9373-8d22530b5353","number":"+19712072518"},"groupId":"JTJ9xDBSHH3UNI2wSGfC8iBHNC/gyJfzAoh4R5ge2ow=","type":"SUCCESS"}],"timestamp":1739838735451},"id":17}
But nothing gets through to any of the clients (i.e. the message/image does not appear for either member of the group, nor does it appear in other clients of mine as a posted story message.
If, however, I post this (no "story":true):
{"jsonrpc":"2.0","method":"send","params":{"attachment":"C:\Users\slewi\Desktop\slewis.PNG","group-id":"JTJ9xDBSHH3UNI2wSGfC8iBHNC/gyJfzAoh4R5ge2ow=","message":"MyMESSAGE1"},"id":16}
{"jsonrpc":"2.0","result":{"results":[{"recipientAddress":{"uuid":"f483a783-d1e3-4c30-9373-8d22530b5353","number":"+19712072518"},"groupId":"JTJ9xDBSHH3UNI2wSGfC8iBHNC/gyJfzAoh4R5ge2ow=","type":"SUCCESS"}],"timestamp":1739839925436},"id":16}
The following is retruned in response
{"jsonrpc":"2.0","method":"receive","params":{"envelope":{"source":"+19712072518","sourceNumber":"+19712072518","sourceUuid":"f483a783-d1e3-4c30-9373-8d22530b5353","sourceName":"Karen","sourceDevice":2,"timestamp":1739839987168,"serverReceivedTimestamp":1739839987271,"serverDeliveredTimestamp":1739839987272,"receiptMessage":{"when":1739839987168,"isDelivery":true,"isRead":false,"isViewed":false,"timestamps":[1739839925436]}},"account":"+15037568719"}}
{"jsonrpc":"2.0","method":"receive","params":{"envelope":{"source":"+19712072518","sourceNumber":"+19712072518","sourceUuid":"f483a783-d1e3-4c30-9373-8d22530b5353","sourceName":"Karen","sourceDevice":1,"timestamp":1739839987427,"serverReceivedTimestamp":1739839987439,"serverDeliveredTimestamp":1739839987440,"receiptMessage":{"when":1739839987427,"isDelivery":true,"isRead":false,"isViewed":false,"timestamps":[1739839925436]}},"account":"+15037568719"}}
And both the image and the message get through just fine...using the existing sendGroupMessage
In debugging, one thing that looks a little suspect is that on SendHelper.java:711 is thsi code:
And the null groupSendEndorsements is subsequently used in the org.whispersystems.signalservice.api.SignalServiceMessageSender.sendGroupStory(DistributionId, Optional<byte[]>, List, List, GroupSendEndorsements, boolean, SignalServiceStoryMessage, long, Set, PartialSendBatchCompleteListener)
Which ends up calling
org.whispersystems.signalservice.api.SignalServiceMessageSender.sendGroupMessage(DistributionId, List, List, GroupSendEndorsements, long, Content, ContentHint, Optional<byte[]>, boolean, SenderKeyGroupEvents, boolean, boolean)
which has this line 2524 in SignalServiceMessageSender
and groupSendEndorsements is null. Perhaps groupSendEndorsements needs to be non-null for the server to accept it?
Thanksinadvance for any help debugging this. Unfortunately, I do not know the Android Client or Desktop Client code well enough (nor have a dev environment for it yet to debug)...or I might be able to trace through the sending of a story through those UIs, to look at what arguments are passed into
org.whispersystems.signalservice.api.SignalServiceMessageSender.sendGroupStory(DistributionId, Optional<byte[]>, List, List, GroupSendEndorsements, boolean, SignalServiceStoryMessage, long, Set, PartialSendBatchCompleteListener)