diff --git a/src/plugins/converse-rai.js b/src/plugins/converse-rai.js index c9dceb5982956b3f8771b4d074ea64cd14c8d869..15db44fdcc6612e573cb5dd2f934345aa5fbab80 100644 --- a/src/plugins/converse-rai.js +++ b/src/plugins/converse-rai.js @@ -96,10 +96,17 @@ converse.plugins.add('converse-rai', { * message, even if it didn't include a `markable` element. */ sendMarkerForMessage(msg, type = 'displayed', force = false) { + const _converse = this.__super__._converse; const { Strophe } = converse.env; - if (msg && (msg?.get('is_markable') || force)) { + + // Markers should be sent for message with a stanza_id + const is_groupchat = this.get('type') === _converse.CHATROOMS_TYPE; + const by_jid = is_groupchat ? this.get('jid') : _converse.bare_jid; + const stanza_id = msg.get('stanza_id '.concat(by_jid)); + + if (msg && (msg?.get('is_markable') || force) && stanza_id) { const from_jid = Strophe.getBareJidFromJid(msg.get('from')); - this.sendMarker(from_jid, msg.get('msgid'), type, msg.get('type')); + this.sendMarker(from_jid, stanza_id, type, msg.get('type')); } }, },