浏览代码

Recreate the roster each time initRoster is called.

Otherwise we will reuse old/stale objects for which we receive no add events
(resulting in an empty roster).
JC Brand 10 年之前
父节点
当前提交
443ee80b6e
共有 1 个文件被更改,包括 7 次插入9 次删除
  1. 7 9
      converse.js

+ 7 - 9
converse.js

@@ -1944,15 +1944,13 @@
                 /* We initialize the roster, which will appear inside the
                 /* We initialize the roster, which will appear inside the
                  * Contacts Panel.
                  * Contacts Panel.
                  */
                  */
-                if (!converse.roster) {
-                    converse.roster = new converse.RosterContacts();
-                    converse.roster.browserStorage = new Backbone.BrowserStorage[converse.storage](
-                        b64_sha1('converse.contacts-'+converse.bare_jid));
-                    var rostergroups = new converse.RosterGroups();
-                    rostergroups.browserStorage = new Backbone.BrowserStorage[converse.storage](
-                        b64_sha1('converse.roster.groups'+converse.bare_jid));
-                    converse.rosterview = new converse.RosterView({model: rostergroups});
-                }
+                converse.roster = new converse.RosterContacts();
+                converse.roster.browserStorage = new Backbone.BrowserStorage[converse.storage](
+                    b64_sha1('converse.contacts-'+converse.bare_jid));
+                var rostergroups = new converse.RosterGroups();
+                rostergroups.browserStorage = new Backbone.BrowserStorage[converse.storage](
+                    b64_sha1('converse.roster.groups'+converse.bare_jid));
+                converse.rosterview = new converse.RosterView({model: rostergroups});
                 converse.rosterview.render().fetch().update();
                 converse.rosterview.render().fetch().update();
                 this.contactspanel.$el.append(converse.rosterview.$el);
                 this.contactspanel.$el.append(converse.rosterview.$el);
                 converse.connection.roster.get(function () {});
                 converse.connection.roster.get(function () {});