From 98fee37a410a8d7423308cfeaa0e5fe085ae27ec Mon Sep 17 00:00:00 2001 From: JC Brand Date: Fri, 21 Dec 2018 06:21:16 +0100 Subject: [PATCH] Destroy devicelist if we can't fetch the devices for it. Otherwise Converse will try to fetch the devices again and again upon page refresh. --- dist/converse.js | 16 ++++++++++++++-- src/converse-omemo.js | 12 ++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/dist/converse.js b/dist/converse.js index 0f0be7a63..8482b9336 100644 --- a/dist/converse.js +++ b/dist/converse.js @@ -56981,7 +56981,19 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_0__["default"].plugins this.devices.fetch({ 'success': async collection => { if (collection.length === 0) { - const ids = await this.fetchDevicesFromServer(); + let ids; + + try { + ids = await this.fetchDevicesFromServer(); + } catch (e) { + _converse.log(`Could not fetch devices for ${this.get('jid')}`); + + _converse.log(e, Strophe.LogLevel.ERROR); + + this.destroy(); + return resolve(e); + } + await this.publishCurrentDevice(ids); } @@ -56990,7 +57002,7 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_0__["default"].plugins 'error': e => { _converse.log(e, Strophe.LogLevel.ERROR); - resolve(); + resolve(e); } }); }); diff --git a/src/converse-omemo.js b/src/converse-omemo.js index c03a04d63..3f8d8ad37 100644 --- a/src/converse-omemo.js +++ b/src/converse-omemo.js @@ -955,14 +955,22 @@ converse.plugins.add('converse-omemo', { this.devices.fetch({ 'success': async collection => { if (collection.length === 0) { - const ids = await this.fetchDevicesFromServer() + let ids; + try { + ids = await this.fetchDevicesFromServer() + } catch (e) { + _converse.log(`Could not fetch devices for ${this.get('jid')}`); + _converse.log(e, Strophe.LogLevel.ERROR); + this.destroy(); + return resolve(e); + } await this.publishCurrentDevice(ids); } resolve(); }, 'error': e => { _converse.log(e, Strophe.LogLevel.ERROR); - resolve(); + resolve(e); } }); });