From 2f149a0ea260ba624baba2180704d026373a868e Mon Sep 17 00:00:00 2001 From: JC Brand Date: Sat, 12 May 2018 12:39:28 +0200 Subject: [PATCH] Fetch devices upon devicelist creation updates #497 --- src/converse-omemo.js | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/converse-omemo.js b/src/converse-omemo.js index c87edc5c1..340189d27 100644 --- a/src/converse-omemo.js +++ b/src/converse-omemo.js @@ -138,20 +138,24 @@ this.devices.browserStorage = new Backbone.BrowserStorage.session( b64_sha1(`converse.devicelist-${_converse.bare_jid}-${this.get('jid')}`) ); + this.fetchDevices(); }, fetchDevices () { - return new Promise((resolve, reject) => { - this.devices.fetch({ - 'success': (collection) => { - if (collection.length === 0) { - this.fetchDevicesFromServer().then(resolve).catch(reject); - } else { - resolve(); + if (_.isUndefined(this._devices_promise)) { + this._devices_promise = new Promise((resolve, reject) => { + this.devices.fetch({ + 'success': (collection) => { + if (collection.length === 0) { + this.fetchDevicesFromServer().then(resolve).catch(reject); + } else { + resolve(); + } } - } + }); }); - }); + } + return this._devices_promise; }, fetchDevicesFromServer () {