Просмотр исходного кода

Fetch devices upon devicelist creation

updates #497
JC Brand 7 лет назад
Родитель
Сommit
2f149a0ea2
1 измененных файлов с 13 добавлено и 9 удалено
  1. 13 9
      src/converse-omemo.js

+ 13 - 9
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 () {