Bugfix. Don't scroll down on archived messages
when already scrolled up.
This commit is contained in:
parent
0d22f5c33c
commit
e1dace59ae
@ -419,16 +419,16 @@
|
||||
|
||||
handleTextMessage: function (message) {
|
||||
this.showMessage(_.clone(message.attributes));
|
||||
if (message.get('sender') !== 'me') {
|
||||
if (!message.get('archive_id') && this.model.get('scrolled', true)) {
|
||||
this.$el.find('.new-msgs-indicator').removeClass('hidden');
|
||||
}
|
||||
} else {
|
||||
if (utils.isNewMessage(message) && message.get('sender') === 'me') {
|
||||
// We remove the "scrolled" flag so that the chat area
|
||||
// gets scrolled down. We always want to scroll down
|
||||
// when the user writes a message as opposed to when a
|
||||
// message is received.
|
||||
this.model.set('scrolled', false);
|
||||
} else {
|
||||
if (utils.isNewMessage(message) && this.model.get('scrolled', true)) {
|
||||
this.$el.find('.new-msgs-indicator').removeClass('hidden');
|
||||
}
|
||||
}
|
||||
if (this.shouldShowOnTextMessage()) {
|
||||
this.show();
|
||||
|
12
src/utils.js
12
src/utils.js
@ -18,7 +18,9 @@
|
||||
"tpl!form_captcha"
|
||||
], factory);
|
||||
}(this, function (
|
||||
$, sizzle, dummy, _, locales, moment,
|
||||
$, sizzle, dummy, _,
|
||||
locales,
|
||||
moment,
|
||||
Strophe,
|
||||
tpl_field,
|
||||
tpl_select_option,
|
||||
@ -225,11 +227,15 @@
|
||||
}
|
||||
},
|
||||
|
||||
isNewMessage: function (stanza) {
|
||||
isNewMessage: function (message) {
|
||||
/* Given a stanza, determine whether it's a new
|
||||
* message, i.e. not a MAM archived one.
|
||||
*/
|
||||
return !(sizzle('result[xmlns="'+Strophe.NS.MAM+'"]', stanza).length);
|
||||
if (message instanceof Element) {
|
||||
return !(sizzle('result[xmlns="'+Strophe.NS.MAM+'"]', message).length);
|
||||
} else {
|
||||
return !message.get('archive_id');
|
||||
}
|
||||
},
|
||||
|
||||
isOTRMessage: function (message) {
|
||||
|
Loading…
Reference in New Issue
Block a user