Don't increment unread msgs counter for <paused> chat state.
Also update release notes. updates #267
This commit is contained in:
parent
0f06902bf4
commit
147e62d000
15
converse.js
15
converse.js
@ -909,6 +909,9 @@
|
|||||||
|
|
||||||
if (!body) {
|
if (!body) {
|
||||||
if (composing.length || paused.length) {
|
if (composing.length || paused.length) {
|
||||||
|
// FIXME: use one attribute for chat states (e.g.
|
||||||
|
// chatstate) instead of saving 'paused' and
|
||||||
|
// 'composing' separately.
|
||||||
this.messages.add({
|
this.messages.add({
|
||||||
fullname: fullname,
|
fullname: fullname,
|
||||||
sender: 'them',
|
sender: 'them',
|
||||||
@ -3043,12 +3046,14 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
initialize: function () {
|
initialize: function () {
|
||||||
this.model.messages.on('add', function(msg) {
|
this.model.messages.on('add', function (m) {
|
||||||
if (!msg.attributes.composing) {this.updateUnreadMessagesCounter();}
|
if (!(m.get('composing') || m.get('paused'))) {
|
||||||
} , this);
|
this.updateUnreadMessagesCounter();
|
||||||
this.model.on('showSentOTRMessage', this.updateUnreadMessagesCounter, this);
|
}
|
||||||
this.model.on('showReceivedOTRMessage', this.updateUnreadMessagesCounter, this);
|
}, this);
|
||||||
this.model.on('change:minimized', this.clearUnreadMessagesCounter, this);
|
this.model.on('change:minimized', this.clearUnreadMessagesCounter, this);
|
||||||
|
this.model.on('showReceivedOTRMessage', this.updateUnreadMessagesCounter, this);
|
||||||
|
this.model.on('showSentOTRMessage', this.updateUnreadMessagesCounter, this);
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function () {
|
render: function () {
|
||||||
|
@ -17,6 +17,7 @@ Changelog
|
|||||||
* #151 Browser locks/freezes with many roster users. [jcbrand]
|
* #151 Browser locks/freezes with many roster users. [jcbrand]
|
||||||
* #251 Non-minified builds for debugging. [jcbrand]
|
* #251 Non-minified builds for debugging. [jcbrand]
|
||||||
* #264 Remove unnecessary commas for ie8 compatibility. [Deuteu]
|
* #264 Remove unnecessary commas for ie8 compatibility. [Deuteu]
|
||||||
|
* #267 Unread messages counter wrongly gets incremented by chat state notifications. [Deuteu]
|
||||||
|
|
||||||
0.8.3 (2014-09-22)
|
0.8.3 (2014-09-22)
|
||||||
------------------
|
------------------
|
||||||
|
@ -84,6 +84,42 @@
|
|||||||
expect(this.minimized_chats.toggleview.$('.unread-message-count').is(':visible')).toBeTruthy();
|
expect(this.minimized_chats.toggleview.$('.unread-message-count').is(':visible')).toBeTruthy();
|
||||||
expect(this.minimized_chats.toggleview.$('.unread-message-count').text()).toBe((i+1).toString());
|
expect(this.minimized_chats.toggleview.$('.unread-message-count').text()).toBe((i+1).toString());
|
||||||
}
|
}
|
||||||
|
// Chat state notifications don't increment the unread messages counter
|
||||||
|
// <composing> state
|
||||||
|
this.chatboxes.onMessage($msg({
|
||||||
|
from: contact_jid,
|
||||||
|
to: this.connection.jid,
|
||||||
|
type: 'chat',
|
||||||
|
id: (new Date()).getTime()
|
||||||
|
}).c('composing', {'xmlns': 'http://jabber.org/protocol/chatstates'}).tree());
|
||||||
|
expect(this.minimized_chats.toggleview.$('.unread-message-count').text()).toBe((i).toString());
|
||||||
|
|
||||||
|
// <paused> state
|
||||||
|
this.chatboxes.onMessage($msg({
|
||||||
|
from: contact_jid,
|
||||||
|
to: this.connection.jid,
|
||||||
|
type: 'chat',
|
||||||
|
id: (new Date()).getTime()
|
||||||
|
}).c('paused', {'xmlns': 'http://jabber.org/protocol/chatstates'}).tree());
|
||||||
|
expect(this.minimized_chats.toggleview.$('.unread-message-count').text()).toBe((i).toString());
|
||||||
|
|
||||||
|
// <gone> state
|
||||||
|
this.chatboxes.onMessage($msg({
|
||||||
|
from: contact_jid,
|
||||||
|
to: this.connection.jid,
|
||||||
|
type: 'chat',
|
||||||
|
id: (new Date()).getTime()
|
||||||
|
}).c('gone', {'xmlns': 'http://jabber.org/protocol/chatstates'}).tree());
|
||||||
|
expect(this.minimized_chats.toggleview.$('.unread-message-count').text()).toBe((i).toString());
|
||||||
|
|
||||||
|
// <inactive> state
|
||||||
|
this.chatboxes.onMessage($msg({
|
||||||
|
from: contact_jid,
|
||||||
|
to: this.connection.jid,
|
||||||
|
type: 'chat',
|
||||||
|
id: (new Date()).getTime()
|
||||||
|
}).c('inactive', {'xmlns': 'http://jabber.org/protocol/chatstates'}).tree());
|
||||||
|
expect(this.minimized_chats.toggleview.$('.unread-message-count').text()).toBe((i).toString());
|
||||||
}, converse));
|
}, converse));
|
||||||
|
|
||||||
}, converse, mock, test_utils));
|
}, converse, mock, test_utils));
|
||||||
|
Loading…
Reference in New Issue
Block a user