Fix MAM issue. Messages weren't being queried for properly

because the archive ids of messages weren't being stored.
This commit is contained in:
JC Brand 2016-05-30 16:17:26 +00:00
parent 128317692d
commit 5993fba1d4
5 changed files with 9 additions and 8 deletions

View File

@ -1166,7 +1166,7 @@
});
},
createMessage: function ($message, $delay) {
createMessage: function ($message, $delay, original_stanza) {
$delay = $delay || $message.find('delay');
var body = $message.children('body').text(),
delayed = $delay.length > 0,
@ -1312,7 +1312,7 @@
if (msgid && chatbox.messages.findWhere({msgid: msgid})) {
return true; // We already have this message stored.
}
chatbox.createMessage($message, $delay);
chatbox.createMessage($message, $delay, message);
converse.roster.addResource(contact_jid, resource);
converse.emit('message', message);
return true;

View File

@ -30,7 +30,7 @@
'jid': from_jid,
'fullname': from_jid,
'type': 'headline'
}).createMessage($message);
}).createMessage($message, undefined, message);
converse.emit('message', message);
}
return true;

View File

@ -48,12 +48,13 @@
}
},
ChatBoxes: {
createMessage: function ($message, $delay) {
ChatBox: {
createMessage: function ($message, $delay, original_stanza) {
var message = this._super.createMessage.apply(this, arguments);
message.save({
archive_id: $message.find('result[xmlns="'+Strophe.NS.MAM+'"]').attr('id')
archive_id: $(original_stanza).find('result[xmlns="'+Strophe.NS.MAM+'"]').attr('id')
});
return message;
}
},

View File

@ -874,7 +874,7 @@
if (sender === '') {
return true;
}
this.model.createMessage($message, $delay);
this.model.createMessage($message, $delay, message);
if (sender !== this.model.get('nick')) {
// We only emit an event if it's not our own message
converse.emit('message', message);

View File

@ -112,7 +112,7 @@
!(this.isOTRMessage($message) && !_.contains([UNVERIFIED, VERIFIED], this.get('otr_status')));
},
createMessage: function ($message, $delay, archive_id) {
createMessage: function ($message, $delay, original_stanza) {
var converse = this._super.converse,
$body = $message.children('body'),
text = ($body.length > 0 ? $body.text() : undefined);