Răsfoiți Sursa

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 ani în urmă
părinte
comite
720096726d
1 a modificat fișierele cu 5 adăugiri și 2 ștergeri
  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 ************************/