Pārlūkot izejas kodu

converse-chatboxes: Don't refetch chatboxes upon reconnection

We don't remove the existing chatboxes and upon refetching they
become stale and get removed (by Backbone) and then the UI for
them becomes unresponsive.
JC Brand 6 gadi atpakaļ
vecāks
revīzija
720096726d
1 mainītis faili ar 5 papildinājumiem un 2 dzēšanām
  1. 5 2
      src/headless/converse-chatboxes.js

+ 5 - 2
src/headless/converse-chatboxes.js

@@ -1051,7 +1051,10 @@ converse.plugins.add('converse-chatboxes', {
                 _converse.api.trigger('chatBoxesFetched');
                 _converse.api.trigger('chatBoxesFetched');
             },
             },
 
 
-            onConnected () {
+            onConnected (reconnecting) {
+                if (reconnecting) {
+                    return;
+                }
                 const storage = _converse.config.get('storage');
                 const storage = _converse.config.get('storage');
                 this.browserStorage = new BrowserStorage[storage](
                 this.browserStorage = new BrowserStorage[storage](
                     `converse.chatboxes-${_converse.bare_jid}`);
                     `converse.chatboxes-${_converse.bare_jid}`);
@@ -1265,7 +1268,7 @@ converse.plugins.add('converse-chatboxes', {
             _converse.api.trigger('chatBoxesInitialized');
             _converse.api.trigger('chatBoxesInitialized');
         });
         });
 
 
-        _converse.api.listen.on('presencesInitialized', () => _converse.chatboxes.onConnected());
+        _converse.api.listen.on('presencesInitialized', (reconnecting) => _converse.chatboxes.onConnected(reconnecting));
         _converse.api.listen.on('reconnected', () => _converse.chatboxes.forEach(m => m.onReconnection()));
         _converse.api.listen.on('reconnected', () => _converse.chatboxes.forEach(m => m.onReconnection()));
         /************************ END Event Handlers ************************/
         /************************ END Event Handlers ************************/