Use async/await instead of explicit promises
This commit is contained in:
parent
d9093c09ee
commit
461ebc0aea
57
dist/converse.js
vendored
57
dist/converse.js
vendored
@ -65812,21 +65812,21 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_0__["default"].plugins
|
||||
return _converse.getDevicesForContact(jid).then(devices => devices.get(device_id));
|
||||
};
|
||||
|
||||
_converse.getDevicesForContact = function (jid) {
|
||||
let devicelist;
|
||||
return _converse.api.waitUntil('OMEMOInitialized').then(() => {
|
||||
devicelist = _converse.devicelists.get(jid) || _converse.devicelists.create({
|
||||
_converse.getDevicesForContact = async function (jid) {
|
||||
await _converse.api.waitUntil('OMEMOInitialized');
|
||||
|
||||
const devicelist = _converse.devicelists.get(jid) || _converse.devicelists.create({
|
||||
'jid': jid
|
||||
});
|
||||
return devicelist.fetchDevices();
|
||||
}).then(() => devicelist.devices);
|
||||
|
||||
await devicelist.fetchDevices();
|
||||
return devicelist.devices;
|
||||
};
|
||||
|
||||
_converse.contactHasOMEMOSupport = function (jid) {
|
||||
_converse.contactHasOMEMOSupport = async function (jid) {
|
||||
/* Checks whether the contact advertises any OMEMO-compatible devices. */
|
||||
return new Promise((resolve, reject) => {
|
||||
_converse.getDevicesForContact(jid).then(devices => resolve(devices.length > 0)).catch(_.partial(_converse.log, _, Strophe.LogLevel.ERROR));
|
||||
});
|
||||
const devices = await _converse.getDevicesForContact(jid);
|
||||
return devices.length > 0;
|
||||
};
|
||||
|
||||
function generateDeviceID() {
|
||||
@ -66192,22 +66192,23 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_0__["default"].plugins
|
||||
|
||||
fetchDevices() {
|
||||
if (_.isUndefined(this._devices_promise)) {
|
||||
this._devices_promise = new Promise((resolve, reject) => {
|
||||
this.devices.fetch({
|
||||
'success': collection => {
|
||||
if (collection.length === 0) {
|
||||
this.fetchDevicesFromServer().then(ids => this.publishCurrentDevice(ids)).finally(resolve);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
const options = {
|
||||
'success': c => this.onCachedDevicesFetched(c),
|
||||
'error': e => _converse.log(e, Strophe.LogLevel.ERROR)
|
||||
};
|
||||
this._devices_promise = this.devices.fetch(options);
|
||||
}
|
||||
|
||||
return this._devices_promise;
|
||||
},
|
||||
|
||||
async onCachedDevicesFetched(collection) {
|
||||
if (collection.length === 0) {
|
||||
const ids = await this.fetchDevicesFromServer();
|
||||
this.publishCurrentDevice(ids);
|
||||
}
|
||||
},
|
||||
|
||||
async publishCurrentDevice(device_ids) {
|
||||
if (this.get('jid') !== _converse.bare_jid) {
|
||||
// We only publish for ourselves.
|
||||
@ -66231,7 +66232,7 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_0__["default"].plugins
|
||||
}
|
||||
},
|
||||
|
||||
fetchDevicesFromServer() {
|
||||
async fetchDevicesFromServer() {
|
||||
const stanza = $iq({
|
||||
'type': 'get',
|
||||
'from': _converse.bare_jid,
|
||||
@ -66241,7 +66242,16 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_0__["default"].plugins
|
||||
}).c('items', {
|
||||
'node': Strophe.NS.OMEMO_DEVICELIST
|
||||
});
|
||||
return _converse.api.sendIQ(stanza).then(iq => {
|
||||
let iq;
|
||||
|
||||
try {
|
||||
iq = await _converse.api.sendIQ(stanza);
|
||||
} catch (e) {
|
||||
_converse.log(e, Strophe.LogLevel.ERROR);
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
const device_ids = _.map(sizzle(`list[xmlns="${Strophe.NS.OMEMO}"] device`, iq), dev => dev.getAttribute('id'));
|
||||
|
||||
_.forEach(device_ids, id => this.devices.create({
|
||||
@ -66250,7 +66260,6 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_0__["default"].plugins
|
||||
}));
|
||||
|
||||
return device_ids;
|
||||
});
|
||||
},
|
||||
|
||||
publishDevices() {
|
||||
|
@ -497,22 +497,17 @@ converse.plugins.add('converse-omemo', {
|
||||
return _converse.getDevicesForContact(jid).then(devices => devices.get(device_id));
|
||||
}
|
||||
|
||||
_converse.getDevicesForContact = function (jid) {
|
||||
let devicelist;
|
||||
return _converse.api.waitUntil('OMEMOInitialized')
|
||||
.then(() => {
|
||||
devicelist = _converse.devicelists.get(jid) || _converse.devicelists.create({'jid': jid});
|
||||
return devicelist.fetchDevices();
|
||||
}).then(() => devicelist.devices);
|
||||
_converse.getDevicesForContact = async function (jid) {
|
||||
await _converse.api.waitUntil('OMEMOInitialized');
|
||||
const devicelist = _converse.devicelists.get(jid) || _converse.devicelists.create({'jid': jid});
|
||||
await devicelist.fetchDevices();
|
||||
return devicelist.devices;
|
||||
}
|
||||
|
||||
_converse.contactHasOMEMOSupport = function (jid) {
|
||||
_converse.contactHasOMEMOSupport = async function (jid) {
|
||||
/* Checks whether the contact advertises any OMEMO-compatible devices. */
|
||||
return new Promise((resolve, reject) => {
|
||||
_converse.getDevicesForContact(jid)
|
||||
.then((devices) => resolve(devices.length > 0))
|
||||
.catch(_.partial(_converse.log, _, Strophe.LogLevel.ERROR));
|
||||
});
|
||||
const devices = await _converse.getDevicesForContact(jid);
|
||||
return devices.length > 0;
|
||||
}
|
||||
|
||||
|
||||
@ -845,23 +840,22 @@ converse.plugins.add('converse-omemo', {
|
||||
|
||||
fetchDevices () {
|
||||
if (_.isUndefined(this._devices_promise)) {
|
||||
this._devices_promise = new Promise((resolve, reject) => {
|
||||
this.devices.fetch({
|
||||
'success': (collection) => {
|
||||
if (collection.length === 0) {
|
||||
this.fetchDevicesFromServer()
|
||||
.then(ids => this.publishCurrentDevice(ids))
|
||||
.finally(resolve)
|
||||
} else {
|
||||
resolve();
|
||||
const options = {
|
||||
'success': c => this.onCachedDevicesFetched(c),
|
||||
'error': e => _converse.log(e, Strophe.LogLevel.ERROR)
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
this._devices_promise = this.devices.fetch(options);
|
||||
}
|
||||
return this._devices_promise;
|
||||
},
|
||||
|
||||
async onCachedDevicesFetched (collection) {
|
||||
if (collection.length === 0) {
|
||||
const ids = await this.fetchDevicesFromServer()
|
||||
this.publishCurrentDevice(ids);
|
||||
}
|
||||
},
|
||||
|
||||
async publishCurrentDevice (device_ids) {
|
||||
if (this.get('jid') !== _converse.bare_jid) {
|
||||
// We only publish for ourselves.
|
||||
@ -879,19 +873,24 @@ converse.plugins.add('converse-omemo', {
|
||||
}
|
||||
},
|
||||
|
||||
fetchDevicesFromServer () {
|
||||
async fetchDevicesFromServer () {
|
||||
const stanza = $iq({
|
||||
'type': 'get',
|
||||
'from': _converse.bare_jid,
|
||||
'to': this.get('jid')
|
||||
}).c('pubsub', {'xmlns': Strophe.NS.PUBSUB})
|
||||
.c('items', {'node': Strophe.NS.OMEMO_DEVICELIST});
|
||||
return _converse.api.sendIQ(stanza)
|
||||
.then(iq => {
|
||||
|
||||
let iq;
|
||||
try {
|
||||
iq = await _converse.api.sendIQ(stanza);
|
||||
} catch (e) {
|
||||
_converse.log(e, Strophe.LogLevel.ERROR);
|
||||
return [];
|
||||
}
|
||||
const device_ids = _.map(sizzle(`list[xmlns="${Strophe.NS.OMEMO}"] device`, iq), dev => dev.getAttribute('id'));
|
||||
_.forEach(device_ids, id => this.devices.create({'id': id, 'jid': this.get('jid')}));
|
||||
return device_ids;
|
||||
});
|
||||
},
|
||||
|
||||
publishDevices () {
|
||||
|
Loading…
Reference in New Issue
Block a user