Commit c32ecb7e authored by JC Brand's avatar JC Brand

Refactor `fetchDevices` to make it smaller and simpler to read

parent 1b08df89
......@@ -950,11 +950,7 @@ converse.plugins.add('converse-omemo', {
this.fetchDevices();
},
fetchDevices () {
if (_.isUndefined(this._devices_promise)) {
this._devices_promise = new Promise(resolve => {
this.devices.fetch({
'success': async collection => {
async onDevicesFound (collection) {
if (collection.length === 0) {
let ids;
try {
......@@ -963,16 +959,19 @@ converse.plugins.add('converse-omemo', {
_converse.log(`Could not fetch devices for ${this.get('jid')}`);
_converse.log(e, Strophe.LogLevel.ERROR);
this.destroy();
return resolve(e);
}
if (this.get('jid') === _converse.bare_jid) {
await this.publishCurrentDevice(ids);
}
resolve();
},
'error': e => {
_converse.log(e, Strophe.LogLevel.ERROR);
resolve(e);
}
},
fetchDevices () {
if (_.isUndefined(this._devices_promise)) {
this._devices_promise = new Promise(resolve => {
this.devices.fetch({
'success': _.flow(c => this.onDevicesFound(c), resolve),
'error': _.flow(_.partial(_converse.log, _, Strophe.LogLevel.ERROR), resolve)
});
});
}
......@@ -981,8 +980,7 @@ converse.plugins.add('converse-omemo', {
async publishCurrentDevice (device_ids) {
if (this.get('jid') !== _converse.bare_jid) {
// We only publish for ourselves.
return
return // We only publish for ourselves.
}
await restoreOMEMOSession();
let device_id = _converse.omemo_store.get('device_id');
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment