Bugfix. Allow multiple MAM queries to be made simultaneously.

This commit is contained in:
JC Brand 2016-07-28 18:01:37 +02:00
parent e28aba5a59
commit 561c138edd
3 changed files with 10 additions and 10 deletions

View File

@ -9,6 +9,7 @@
list. [jcbrand]
- #645 When accepting a contact request, the contact didn't appear in the
pending contacts group. [jcbrand]
- Bugfix: allow multiple MAM queries to be made simultaneously. [jcbrand]
## 1.0.4 (2016-07-26)

View File

@ -348,7 +348,7 @@
* </fin>
* </message>
*/
stanza = $msg().c('fin', {'xmlns': 'urn:xmpp:mam:0', 'complete': 'true'})
stanza = $msg().c('fin', {'xmlns': 'urn:xmpp:mam:0', 'queryid':queryid, 'complete': 'true'})
.c('set', {'xmlns': 'http://jabber.org/protocol/rsm'})
.c('first', {'index': '0'}).t('23452-4534-1').up()
.c('last').t('390-2342-22').up()

View File

@ -203,11 +203,12 @@
stanza.cnode(new Strophe.RSM(options).toXML());
}
}
converse.connection.addHandler(function (message) {
var $msg = $(message), $fin, rsm;
if (typeof callback === "function") {
$fin = $msg.find('fin[xmlns="'+Strophe.NS.MAM+'"]');
if ($fin.length) {
if (typeof callback === "function") {
converse.connection.addHandler(function (message) {
var $msg = $(message), rsm,
$fin = $msg.find('fin[xmlns="'+Strophe.NS.MAM+'"]');
if ($fin.length && $fin.attr('queryid') === queryid) {
rsm = new Strophe.RSM({xml: $fin.find('set')[0]});
_.extend(rsm, _.pick(options, ['max']));
_.extend(rsm, _.pick(options, MAM_ATTRIBUTES));
@ -217,10 +218,8 @@
messages.push(message);
}
return true;
} else {
return false; // There's no callback, so no use in continuing this handler.
}
}, Strophe.NS.MAM);
}, Strophe.NS.MAM);
}
converse.connection.sendIQ(stanza, null, errback, converse.message_archiving_timeout);
};