Register presence and message handlers before getting the roster

Otherwise some presence notifications might be lost
This commit is contained in:
JC Brand 2013-08-15 19:29:20 +02:00
parent 9b9bf1ce89
commit 53359b7ddc
2 changed files with 20 additions and 12 deletions

View File

@ -1,6 +1,12 @@
Changelog Changelog
========= =========
0.5.3 (Unreleased)
------------------
- Register presence and message handlers before fetching the roster. Otherwise
some presence notifications might be missed. [jcbrand]
0.5.2 (2013-08-05) 0.5.2 (2013-08-05)
------------------ ------------------

View File

@ -2626,18 +2626,20 @@
$.proxy(this.roster.subscribeToSuggestedItems, this.roster), $.proxy(this.roster.subscribeToSuggestedItems, this.roster),
'http://jabber.org/protocol/rosterx', 'message', null); 'http://jabber.org/protocol/rosterx', 'message', null);
this.connection.roster.get($.proxy(function (a) { this.connection.addHandler(
this.connection.addHandler( $.proxy(function (presence) {
$.proxy(function (presence) { this.presenceHandler(presence);
this.presenceHandler(presence); return true;
return true; }, this.roster), null, 'presence', null);
}, this.roster), null, 'presence', null);
this.connection.addHandler( this.connection.addHandler(
$.proxy(function (message) { $.proxy(function (message) {
this.chatboxes.messageReceived(message); this.chatboxes.messageReceived(message);
return true; return true;
}, this), null, 'message', 'chat'); }, this), null, 'message', 'chat');
}, this));
this.connection.roster.get(function () {});
$(window).on("blur focus", $.proxy(function(e) { $(window).on("blur focus", $.proxy(function(e) {
if ((this.windowState != e.type) && (e.type == 'focus')) { if ((this.windowState != e.type) && (e.type == 'focus')) {
converse.clearMsgCounter(); converse.clearMsgCounter();