diff --git a/plugins/converse-rai.js b/plugins/converse-rai.js index 20fa970216eb917dc46b45b02c5a406ca12f8834..6522f9e890f3701966b3a0082fb99f278743054d 100644 --- a/plugins/converse-rai.js +++ b/plugins/converse-rai.js @@ -50,7 +50,7 @@ _converse.connection.addHandler(function (message) { message.querySelectorAll('activity').forEach(function (activity) { - if (activity) { + if (activity && activity.getAttribute("xmlns") == "xmpp:prosody.im/protocol/rai") { const jid = activity.innerHTML; _converse.api.trigger('chatRoomActivityIndicators', jid); @@ -62,9 +62,30 @@ } }); + const subject = message.querySelector('subject'); + const body = message.querySelector('body'); + if (subject && !body) sendMarker(message.getAttribute('from'), message.getAttribute('id'), 'received'); + return true; - }, "xmpp:prosody.im/protocol/rai", 'message'); + }, null, 'message', 'groupchat'); + } + + function sendMarker(to_jid, id, type) + { + console.debug("sendMarker", to_jid, id, type); + + const stanza = $msg({ + 'from': _converse.connection.jid, + 'id': Math.random().toString(36).substr(2,9), + 'to': to_jid, + 'type': 'chat' + }).c(type, { + 'xmlns': Strophe.NS.MARKERS, + 'id': id + }); + + _converse.api.send(stanza); } function notifyText(message, title, notifyId, callback) {