Commit 1b08df89 authored by JC Brand's avatar JC Brand

Don't send OMEMO message when we don't have any devices for contact

parent 1a2e7b23
...@@ -56393,6 +56393,10 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_0__["default"].plugins ...@@ -56393,6 +56393,10 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_0__["default"].plugins
_converse.api.alert.show(Strophe.LogLevel.ERROR, __('Error'), err_msgs); _converse.api.alert.show(Strophe.LogLevel.ERROR, __('Error'), err_msgs);
_converse.log(e, Strophe.LogLevel.ERROR);
} else if (e.user_facing) {
_converse.api.alert.show(Strophe.LogLevel.ERROR, __('Error'), [e.message]);
_converse.log(e, Strophe.LogLevel.ERROR); _converse.log(e, Strophe.LogLevel.ERROR);
} else { } else {
throw e; throw e;
...@@ -56628,8 +56632,15 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_0__["default"].plugins ...@@ -56628,8 +56632,15 @@ _converse_headless_converse_core__WEBPACK_IMPORTED_MODULE_0__["default"].plugins
const collections = await Promise.all(chatbox.occupants.map(o => getDevicesForContact(o.get('jid')))); const collections = await Promise.all(chatbox.occupants.map(o => getDevicesForContact(o.get('jid'))));
devices = collections.reduce((a, b) => _.concat(a, b.models), []); devices = collections.reduce((a, b) => _.concat(a, b.models), []);
} else if (chatbox.get('type') === _converse.PRIVATE_CHAT_TYPE) { } else if (chatbox.get('type') === _converse.PRIVATE_CHAT_TYPE) {
const their_devices = await getDevicesForContact(chatbox.get('jid')), const their_devices = await getDevicesForContact(chatbox.get('jid'));
own_devices = _converse.devicelists.get(_converse.bare_jid).devices;
if (their_devices.length === 0) {
const err = new Error(__("Sorry, we aren't able to fetch any devices to send an OMEMO encrypted message to."));
err.user_facing = true;
throw err;
}
const own_devices = _converse.devicelists.get(_converse.bare_jid).devices;
devices = _.concat(own_devices.models, their_devices.models); devices = _.concat(own_devices.models, their_devices.models);
} }
...@@ -338,6 +338,9 @@ converse.plugins.add('converse-omemo', { ...@@ -338,6 +338,9 @@ converse.plugins.add('converse-omemo', {
} }
_converse.api.alert.show(Strophe.LogLevel.ERROR, __('Error'), err_msgs); _converse.api.alert.show(Strophe.LogLevel.ERROR, __('Error'), err_msgs);
_converse.log(e, Strophe.LogLevel.ERROR); _converse.log(e, Strophe.LogLevel.ERROR);
} else if (e.user_facing) {
_converse.api.alert.show(Strophe.LogLevel.ERROR, __('Error'), [e.message]);
_converse.log(e, Strophe.LogLevel.ERROR);
} else { } else {
throw e; throw e;
} }
...@@ -553,8 +556,13 @@ converse.plugins.add('converse-omemo', { ...@@ -553,8 +556,13 @@ converse.plugins.add('converse-omemo', {
const collections = await Promise.all(chatbox.occupants.map(o => getDevicesForContact(o.get('jid')))); const collections = await Promise.all(chatbox.occupants.map(o => getDevicesForContact(o.get('jid'))));
devices = collections.reduce((a, b) => _.concat(a, b.models), []); devices = collections.reduce((a, b) => _.concat(a, b.models), []);
} else if (chatbox.get('type') === _converse.PRIVATE_CHAT_TYPE) { } else if (chatbox.get('type') === _converse.PRIVATE_CHAT_TYPE) {
const their_devices = await getDevicesForContact(chatbox.get('jid')), const their_devices = await getDevicesForContact(chatbox.get('jid'));
own_devices = _converse.devicelists.get(_converse.bare_jid).devices; if (their_devices.length === 0) {
const err = new Error(__("Sorry, we aren't able to fetch any devices to send an OMEMO encrypted message to."));
err.user_facing = true;
throw err;
}
const own_devices = _converse.devicelists.get(_converse.bare_jid).devices;
devices = _.concat(own_devices.models, their_devices.models); devices = _.concat(own_devices.models, their_devices.models);
} }
await Promise.all(devices.map(d => d.getBundle())); await Promise.all(devices.map(d => d.getBundle()));
......
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