EionRobb / purple-googlechat

A Google Chat protocol plugin for libpurple/Pidgin/bitlbee/whatever
GNU General Public License v3.0
112 stars 13 forks source link

Wishlist: support for read receipts #16

Open zyphlar opened 3 years ago

zyphlar commented 3 years ago

I actually started poking around on this because I was seeing the messages pop through the debug logs, but maybe you have a better insight than me as to what's going on.

I'm getting READ_RECEIPT_CHANGED messages, but they look identical whether it's me sending a message or whether it's the remote user opening the chat; nothing to distinguish me from them, or sent vs received. Is there perhaps another callback or event detail I'm missing to distinguish "the other user has read this" from "yeah we know, you read your own message"?

(15:35:44) googlechat: Received new other event 0x55c000000ee0
(15:35:44) googlechat: {
    "group_id" : {
        "space_id" : null,
        "dm_id" : {
            "dm_id" : "toZ00000AAE"
        }
    },
    "type" : "READ_RECEIPT_CHANGED",
    "body" : {
        "message_posted" : null,
        "event_type" : "READ_RECEIPT_CHANGED",
        "membership_changed" : null,
        "trace_id" : null,
        "user_status_updated_event" : null,
        "typing_state_changed_event" : null
    },
    "user_id" : null,
    "bodies" : [
    ]
}
EionRobb commented 3 years ago

Ah, there's an event->body->read_receipt_changed object that I haven't reversed yet. I'll do that now so that you can review what juicy flavour it has hiding inside

zyphlar commented 3 years ago

You're my hero! I might just be a libpurple programmer yet...

EionRobb commented 3 years ago

See how you get on with that :)

zyphlar commented 3 years ago

19 stubs this out but it's not visible to the user because we need Pidgin GUI support