Add support for handling multiple stanza-id
elements
This commit is contained in:
parent
8d00294681
commit
7e34a462c1
23
dist/converse.js
vendored
23
dist/converse.js
vendored
|
@ -61982,7 +61982,6 @@ _converse_core__WEBPACK_IMPORTED_MODULE_2__["default"].plugins.add('converse-cha
|
|||
const archive = sizzle(`result[xmlns="${Strophe.NS.MAM}"]`, original_stanza).pop(),
|
||||
spoiler = sizzle(`spoiler[xmlns="${Strophe.NS.SPOILER}"]`, original_stanza).pop(),
|
||||
delay = sizzle(`delay[xmlns="${Strophe.NS.DELAY}"]`, original_stanza).pop(),
|
||||
stanza_id = sizzle(`stanza-id[xmlns="${Strophe.NS.SID}"]`, stanza).pop(),
|
||||
chat_state = stanza.getElementsByTagName(_converse.COMPOSING).length && _converse.COMPOSING || stanza.getElementsByTagName(_converse.PAUSED).length && _converse.PAUSED || stanza.getElementsByTagName(_converse.INACTIVE).length && _converse.INACTIVE || stanza.getElementsByTagName(_converse.ACTIVE).length && _converse.ACTIVE || stanza.getElementsByTagName(_converse.GONE).length && _converse.GONE;
|
||||
|
||||
const attrs = {
|
||||
|
@ -61993,13 +61992,13 @@ _converse_core__WEBPACK_IMPORTED_MODULE_2__["default"].plugins.add('converse-cha
|
|||
'message': _converse.chatboxes.getMessageBody(stanza) || undefined,
|
||||
'msgid': stanza.getAttribute('id'),
|
||||
'references': this.getReferencesFromStanza(stanza),
|
||||
'stanza_id': stanza_id ? stanza_id.getAttribute('id') : undefined,
|
||||
'stanza_id_by_jid': stanza_id ? stanza_id.getAttribute('by') : undefined,
|
||||
'subject': _.propertyOf(stanza.querySelector('subject'))('textContent'),
|
||||
'thread': _.propertyOf(stanza.querySelector('thread'))('textContent'),
|
||||
'time': delay ? delay.getAttribute('stamp') : moment().format(),
|
||||
'type': stanza.getAttribute('type')
|
||||
};
|
||||
const stanza_ids = sizzle(`stanza-id[xmlns="${Strophe.NS.SID}"]`, stanza);
|
||||
stanza_ids.forEach(s => attrs[`stanza_id ${s.getAttribute('by')}`] = s.getAttribute('id'));
|
||||
|
||||
if (attrs.type === 'groupchat') {
|
||||
attrs.from = stanza.getAttribute('from');
|
||||
|
@ -66952,10 +66951,9 @@ _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].plugins.add('converse-muc
|
|||
return false;
|
||||
}
|
||||
|
||||
const msg = this.messages.findWhere({
|
||||
'stanza_id': stanza_id.getAttribute('id'),
|
||||
'stanza_id_by_jid': by_jid
|
||||
});
|
||||
const query = {};
|
||||
query[`stanza_id ${by_jid}`] = stanza_id.getAttribute('id');
|
||||
const msg = this.messages.findWhere(query);
|
||||
return !_.isNil(msg);
|
||||
},
|
||||
|
||||
|
@ -67004,11 +67002,14 @@ _converse_core__WEBPACK_IMPORTED_MODULE_6__["default"].plugins.add('converse-muc
|
|||
});
|
||||
|
||||
if (msg) {
|
||||
const attrs = {};
|
||||
const stanza_id = sizzle(`stanza-id[xmlns="${Strophe.NS.SID}"]`, stanza).pop();
|
||||
const attrs = {
|
||||
'stanza_id': stanza_id ? stanza_id.getAttribute('id') : undefined,
|
||||
'stanza_id_by_jid': stanza_id ? stanza_id.getAttribute('by') : undefined
|
||||
};
|
||||
const by_jid = stanza_id ? stanza_id.getAttribute('by') : undefined;
|
||||
|
||||
if (by_jid) {
|
||||
const key = `stanza_id ${by_jid}`;
|
||||
attrs[key] = stanza_id.getAttribute('id');
|
||||
}
|
||||
|
||||
if (!msg.get('received')) {
|
||||
attrs.received = moment().format();
|
||||
|
|
|
@ -2510,7 +2510,7 @@
|
|||
_converse.connection._dataRecv(test_utils.createRequest(stanza));
|
||||
await test_utils.waitUntil(() => view.model.reflectionHandled.calls.count() === 1);
|
||||
expect(view.model.messages.length).toBe(1);
|
||||
expect(view.model.messages.at(0).get('stanza_id')).toBe("5f3dbc5e-e1d3-4077-a492-693f3769c7ad");
|
||||
expect(view.model.messages.at(0).get('stanza_id room@muc.example.com')).toBe("5f3dbc5e-e1d3-4077-a492-693f3769c7ad");
|
||||
expect(view.model.messages.at(0).get('origin_id')).toBe(attrs.origin_id);
|
||||
done();
|
||||
}));
|
||||
|
|
|
@ -596,7 +596,6 @@ converse.plugins.add('converse-chatboxes', {
|
|||
const archive = sizzle(`result[xmlns="${Strophe.NS.MAM}"]`, original_stanza).pop(),
|
||||
spoiler = sizzle(`spoiler[xmlns="${Strophe.NS.SPOILER}"]`, original_stanza).pop(),
|
||||
delay = sizzle(`delay[xmlns="${Strophe.NS.DELAY}"]`, original_stanza).pop(),
|
||||
stanza_id = sizzle(`stanza-id[xmlns="${Strophe.NS.SID}"]`, stanza).pop(),
|
||||
chat_state = stanza.getElementsByTagName(_converse.COMPOSING).length && _converse.COMPOSING ||
|
||||
stanza.getElementsByTagName(_converse.PAUSED).length && _converse.PAUSED ||
|
||||
stanza.getElementsByTagName(_converse.INACTIVE).length && _converse.INACTIVE ||
|
||||
|
@ -611,13 +610,14 @@ converse.plugins.add('converse-chatboxes', {
|
|||
'message': _converse.chatboxes.getMessageBody(stanza) || undefined,
|
||||
'msgid': stanza.getAttribute('id'),
|
||||
'references': this.getReferencesFromStanza(stanza),
|
||||
'stanza_id': stanza_id ? stanza_id.getAttribute('id') : undefined,
|
||||
'stanza_id_by_jid': stanza_id ? stanza_id.getAttribute('by') : undefined,
|
||||
'subject': _.propertyOf(stanza.querySelector('subject'))('textContent'),
|
||||
'thread': _.propertyOf(stanza.querySelector('thread'))('textContent'),
|
||||
'time': delay ? delay.getAttribute('stamp') : moment().format(),
|
||||
'type': stanza.getAttribute('type')
|
||||
};
|
||||
const stanza_ids = sizzle(`stanza-id[xmlns="${Strophe.NS.SID}"]`, stanza);
|
||||
stanza_ids.forEach(s => (attrs[`stanza_id ${s.getAttribute('by')}`] = s.getAttribute('id')));
|
||||
|
||||
if (attrs.type === 'groupchat') {
|
||||
attrs.from = stanza.getAttribute('from');
|
||||
attrs.nick = Strophe.unescapeNode(Strophe.getResourceFromJid(attrs.from));
|
||||
|
|
|
@ -958,10 +958,9 @@ converse.plugins.add('converse-muc', {
|
|||
if (!result.length) {
|
||||
return false;
|
||||
}
|
||||
const msg = this.messages.findWhere({
|
||||
'stanza_id': stanza_id.getAttribute('id'),
|
||||
'stanza_id_by_jid': by_jid
|
||||
});
|
||||
const query = {};
|
||||
query[`stanza_id ${by_jid}`] = stanza_id.getAttribute('id');
|
||||
const msg = this.messages.findWhere(query);
|
||||
return !_.isNil(msg);
|
||||
},
|
||||
|
||||
|
@ -1008,10 +1007,12 @@ converse.plugins.add('converse-muc', {
|
|||
'sender': 'me'
|
||||
});
|
||||
if (msg) {
|
||||
const attrs = {};
|
||||
const stanza_id = sizzle(`stanza-id[xmlns="${Strophe.NS.SID}"]`, stanza).pop();
|
||||
const attrs = {
|
||||
'stanza_id': stanza_id ? stanza_id.getAttribute('id') : undefined,
|
||||
'stanza_id_by_jid': stanza_id ? stanza_id.getAttribute('by') : undefined
|
||||
const by_jid = stanza_id ? stanza_id.getAttribute('by') : undefined;
|
||||
if (by_jid) {
|
||||
const key = `stanza_id ${by_jid}`;
|
||||
attrs[key] = stanza_id.getAttribute('id');
|
||||
}
|
||||
if (!msg.get('received')) {
|
||||
attrs.received = moment().format();
|
||||
|
|
Loading…
Reference in New Issue
Block a user