EionRobb / purple-hangouts

46 stars 4 forks source link

Support for read/seen status indicators? #229

Open zyphlar opened 3 years ago

zyphlar commented 3 years ago

Working remotely, a big aspect of knowing if my coworkers are out to lunch or just slow to respond is being able to tell if they've seen a message or not. Like the online/away/offline status indicator or typing indicator, it's just one little parasocial way of seeing if you're being ignored or not, and surprisingly anxiety-inducing when it's not there.

Is it possible to include support for this in Pidgin? Or is the protocol inaccessible / too difficult?

EionRobb commented 3 years ago

So it's not something that'd be directly achievable with the plugin, as the plugin isn't allowed to do anything GUI-related (except via intermediate libpurple functions). This is to help achieve maximum compatibility with as many libpurple clients as possible.

That said, there's a Pidgin-only GUI plugin that kind of achieves this with XMPP at https://github.com/kontalk/pidgin-xmpp-receipts, that can edit Pidgin's message history window and add a ✓ to the end of the last message once it was "reciepted" by the other end.

So potentially, yes, a GUI plugin could be written (or adapted from the pidgin-xmpp-receipts plugin) to listen to a last-seen signal that could be added to the Hangouts plugin to broadcast out to the theoretical plugin

zyphlar commented 3 years ago

Cool! I'm a programmer but never contributed to a FOSS project in C before and never worked with chat/GUI, do you have any tips on what the last-seen signal looks like in Hangouts? Is that something you can add or I should look into? I'm happy to tackle the xmpp-receipts side of things and work out a way of transmitting that signal between the two.

On Mon, Feb 15, 2021, 3:46 PM Eion Robb notifications@github.com wrote:

So it's not something that'd be directly achievable with the plugin, as the plugin isn't allowed to do anything GUI-related (except via intermediate libpurple functions). This is to help achieve maximum compatibility with as many libpurple clients as possible.

That said, there's a Pidgin-only GUI plugin that kind of achieves this with XMPP at https://github.com/kontalk/pidgin-xmpp-receipts, that can edit Pidgin's message history window and add a ✓ to the end of the last message once it was "reciepted" by the other end.

So potentially, yes, a GUI plugin could be written (or adapted from the pidgin-xmpp-receipts plugin) to listen to a last-seen signal that could be added to the Hangouts plugin to broadcast out to the theoretical plugin

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/EionRobb/purple-hangouts/issues/229#issuecomment-779496840, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAL2MQEMSZDOMU2UDZAJRDS7GW33ANCNFSM4XVOCV4Q .