AsamK/signal-cli

Is it possible to send read receipts?

derricw opened this issue · 4 comments

When I receive a message using signal-cli, it still is marked as unread until I read it on the Android or desktop client.

Is there a way that I could send a read receipt so that I can mark messages as read with signal-cli?

AsamK commented

Not possible yet, but should be straight forward to implement similar to the sendReaction command.

Thanks for the response! I will look into this, but my Java is terrible so I might have to wait on someone else to do it.

I would like to see this too!
If you can point me in the right direction in the code, I will have a go at creating a pull request.
I'm also generally up for helping with this project.
My Java is a bit rusty, but I'm sure I can get myself back up to speed.

AsamK commented

You can have a look at the SendReactionCommand.java file for the cli handling and create a similar SendReceiptCommand.java.
The command should be able to send read and viewed receipts, delivery receipts are already sent automatically.
The cli call would probably look like this: signal-cli sendReceipt [NUMBER] [-g GROUP_ID] [--read|--viewed] -t MESSAGE_TIMESTAMP
The command should accept multiple timestamps to send receipts for multiple messages at once.
It should call the Manager to send the message. There's already a sendReceipt method for delivery receipts, that would need to be adapted to be able to send read and viewed receipts as well.
You can also add a sendReceipt method to DbusSignalImpl and the Signal dbus interface.