Commit 029fb6d6 authored by JC Brand's avatar JC Brand

Make sure we have a device to publish before doing so

parent 94a1852b
......@@ -2,6 +2,7 @@
## 4.0.3 (Unreleased)
- Bugfix. Converse continuously publishes an empty OMEMO devicelist for itself
- Bugfix. Handler not triggered when submitting MUC password form 2nd time
- Bugfix. MUC features weren't being refreshed when saving the config form
- Don't show duplicate notification messages
......
......@@ -855,8 +855,7 @@
if (collection.length === 0) {
this.fetchDevicesFromServer()
.then(ids => this.publishCurrentDevice(ids))
.then(resolve)
.catch(resolve);
.finally(resolve)
} else {
resolve();
}
......@@ -867,20 +866,21 @@
return this._devices_promise;
},
publishCurrentDevice (device_ids) {
async publishCurrentDevice (device_ids) {
if (this.get('jid') !== _converse.bare_jid) {
// We only publish for ourselves.
return Promise.resolve();
return
}
await restoreOMEMOSession();
let device_id = _converse.omemo_store.get('device_id');
if (!this.devices.findWhere({'id': device_id})) {
// Generate a new bundle if we cannot find our device
await _converse.omemo_store.generateBundle();
device_id = _converse.omemo_store.get('device_id');
}
if (!_.includes(device_ids, device_id)) {
return this.publishDevices();
}
return restoreOMEMOSession()
.then(() => {
const device_id = _converse.omemo_store.get('device_id'),
own_device = this.devices.findWhere({'id': device_id});
if (!_.includes(device_ids, device_id)) {
return this.publishDevices();
}
});
},
fetchDevicesFromServer () {
......
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