hoehermann / purple-signald

Pidgin libpurple bridge to signald.
GNU General Public License v3.0
153 stars 19 forks source link

display emoji reactions #71

Closed dperelman closed 2 years ago

dperelman commented 2 years ago

Signal supports reacting to a message with an emoji, which is sometimes used for important content (e.g., using :+1: to explicitly acknowledge receipt of a message). It would be nice if Pidgin could display those; currently I just view them on the Signal app on my phone.

A major complication is that I'm not sure if Pidgin's API/UI really supports the concept of updating the display of an already received message. If not, this would either require a change to Pidgin or some kind of awkward display of the reactions as messages.

demure commented 2 years ago

could it display like when a user quotes a message?

> blah blah....
:+1: 

I use bitlbee myself, but those msgs seem decent enough.

ttlmax commented 2 years ago

This feature was added by @hoehermann with commit 276614181554 or do you mean still something different?

dperelman commented 2 years ago

Apologies, I was apparently running a slightly old build and didn't update before posting this issue. My mistake.

While trying to test if that works, I noticed it crashes (Pidgin disconnects the account with an error message) when doing reacts in the Note to Self chat (i.e. IM to myself). Running pidgin -d I see:

(22:15:36) prpl-hehoe-signald: got newline delimited message: {"type":"InternalError","version":"v1","data":{"exceptions":["org.whispersystems.signalservice.api.InvalidMessageStructureException"],"message":"org.whispersystems.signalservice.api.InvalidMessageStructureException: SyncMessage missing both destination and group ID!"},"error":true,"account":"+15555551212"}
(22:15:36) prpl-hehoe-signald: received type: InternalError
(22:15:36) prpl-hehoe-signald: InternalError
(22:15:36) connection: purple_connection_error_reason called with NULL description
(22:15:36) connection: Connection error on 0xdeadbeef1234 (reason: 16 description: Unknown error)
(22:15:36) jabber: jabber_actions: have pep: NO
(22:15:36) jabber: jabber_actions: have pep: NO
(22:15:36) account: Disconnecting account +15555551212 (0xdeadbeef1234)
(22:15:36) connection: Disconnecting connection 0xdeadbeef1234
hoehermann commented 2 years ago

I am glad you figured it out. Thank you for the report anyways. :)

The InternalError happens in signald. Feel free to forward the issue to https://gitlab.com/signald/signald.