diff --git a/src/XMPP/Stanza.c b/src/XMPP/Stanza.c index d96b4ad..7892f72 100644 --- a/src/XMPP/Stanza.c +++ b/src/XMPP/Stanza.c @@ -87,6 +87,11 @@ XMPPSendPlainID(XMPPComponent *comp, char *fr, char *to, char *msg, char *type, XMLAddAttr(request, "xmlns", "urn:xmpp:receipts"); XMLAddChild(message, request); } + { + XMLElement *markable = XMLCreateTag("markable"); + XMLAddAttr(markable, "xmlns", "urn:xmpp:chat-markers:0"); + XMLAddChild(message, markable); + } if (oob) { diff --git a/src/XMPPThread.c b/src/XMPPThread.c index 656b2d5..ccbe63b 100644 --- a/src/XMPPThread.c +++ b/src/XMPPThread.c @@ -23,10 +23,11 @@ AdvertiseSimple("http://jabber.org/protocol/chatstates") \ AdvertiseSimple("http://jabber.org/protocol/caps") \ AdvertiseSimple("urn:xmpp:avatar:metadata+notify") \ - AdvertiseSimple("urn:xmpp:avatar:metadata") \ AdvertiseSimple("urn:xmpp:avatar:data+notify") \ - AdvertiseSimple("urn:xmpp:avatar:data") \ + AdvertiseSimple("urn:xmpp:avatar:metadata") \ AdvertiseSimple("urn:xmpp:message-correct:0") \ + AdvertiseSimple("urn:xmpp:avatar:data") \ + AdvertiseSimple("urn:xmpp:chat-markers:0") \ AdvertiseSimple("urn:xmpp:reactions:0") \ AdvertiseSimple("urn:xmpp:styling:0") \ AdvertiseSimple("urn:xmpp:receipts") \ @@ -465,7 +466,8 @@ MessageStanza(ParseeData *args, XMLElement *stanza, XMPPThread *thr) from_matrix = NULL; } if (XMLookForTKV(stanza, "paused", "xmlns", CHAT_STATES) || - XMLookForTKV(stanza, "received", "xmlns", "urn:xmpp:receipts")) + XMLookForTKV(stanza, "received", "xmlns", "urn:xmpp:receipts") || + XMLookForTKV(stanza, "displayed", "xmlns", "urn:xmpp:chat-markers:0")) { /* TODO: Use stanza ID if possible */ char *latest = NULL;