Turasa / libsignal-service-java

GNU General Public License v3.0
37 stars 21 forks source link

Update to Upstream 2.12.2 and Sealed Sender #18

Closed up4 closed 5 years ago

up4 commented 5 years ago

I tried to pull & merge the changes in upstream 2.12.2 to get the new sealed sender code, but I most certainly have to get acquainted with your code first, specifically in WebSocketConnection, SignalServiceCipher and SignalServiceMessageSender, the latter being the most conflictual of the whole fork.

Can I ask you questions here to be able to resolve the conflicts in the code between your code and the latest upstream ? If not, please let me know what I should do.

Thanks.

AsamK commented 5 years ago

I had already merged it a few days ago, but not pushed yet. I've pushed it now, but it's not tested.

up4 commented 5 years ago

Marvellous ! I will look into it now.

up4 commented 5 years ago

So I compiled and published to local maven repository to use it in my simple message send code, which is based on signal-cli send (no attachment, single recipient). The constructor signature for SignalServiceMessageSender has changed and while I can pretty much guess that the new pipe is for sealed sender, I have no idea what isMultiDevice is about. There is also a new IdentityKeyStore.getIdentity() for which I will, for now, throw an UnsupportedOperationException in my implementation, also based on signal-cli's json store. I have not yet looked into using the sealed sender, I just wanted to test existing functionality, so I also put an Optional.absent() on the new unidentifiedAccess parameter for SignalServiceMessageSender.sendMessage().

And it all works.

Now I just have to figure out how to use the sealed sender functionality.

Ra1issa commented 2 years ago

Hi, I am trying to add sealed sender functionality to signal-cli (sending). From your comment above it seems that there is support for this in the internals of this library. I have tried passing Optional.absent() as the unidentifiedAccess parameter to SignalServiceMessageSender.sendMessage(). The messages get sent but do not appear as sealed sender on the receiver side, they are just regular messages.

Do you have any insight on this ? If some of this functionality is missing I am happy to add it and open a PR, I would appreciate some pointers into what is needed.