Преглед на файлове

Wrap in try/catch, otherwise handler gets removed upon error

JC Brand преди 7 години
родител
ревизия
24d86c7edd
променени са 1 файла, в които са добавени 7 реда и са изтрити 4 реда
  1. 7 4
      src/converse-omemo.js

+ 7 - 4
src/converse-omemo.js

@@ -784,7 +784,6 @@
                         .c('publish', {'node': Strophe.NS.OMEMO_DEVICELIST})
                             .c('item')
                                 .c('list', {'xmlns': Strophe.NS.OMEMO})
-
                     _.each(this.devices.where({'active': true}), (device) => {
                         stanza.c('device', {'id': device.get('id')}).up();
                     });
@@ -929,9 +928,13 @@
             function registerPEPPushHandler () {
                 // Add a handler for devices pushed from other connected clients
                 _converse.connection.addHandler((message) => {
-                    if (sizzle(`event[xmlns="${Strophe.NS.PUBSUB}#event"]`, message).length) {
-                        updateDevicesFromStanza(message);
-                        updateBundleFromStanza(message);
+                    try {
+                        if (sizzle(`event[xmlns="${Strophe.NS.PUBSUB}#event"]`, message).length) {
+                            updateDevicesFromStanza(message);
+                            updateBundleFromStanza(message);
+                        }
+                    } catch (e) {
+                        _converse.log(e.message, Strophe.LogLevel.ERROR);
                     }
                     return true;
                 }, null, 'message', 'headline');