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');
             },
 
-            onConnected () {
+            onConnected (reconnecting) {
+                if (reconnecting) {
+                    return;
+                }
                 const storage = _converse.config.get('storage');
                 this.browserStorage = new BrowserStorage[storage](
                     `converse.chatboxes-${_converse.bare_jid}`);
@@ -1265,7 +1268,7 @@ converse.plugins.add('converse-chatboxes', {
             _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()));
         /************************ END Event Handlers ************************/