diff --git a/src/plugins/converse-rai.js b/src/plugins/converse-rai.js index 7ad059de4d5464925d5be470622ab3bb13c0fbbc..3b5fb22e17e9741874ded24f9440e2a1f4edf6c2 100644 --- a/src/plugins/converse-rai.js +++ b/src/plugins/converse-rai.js @@ -108,7 +108,7 @@ converse.plugins.add('converse-rai', { * @param {string|Array} jids * @returns {void} */ - subscribe(jids) { + async subscribe(jids) { if (!api.settings.get('muc_subscribe_to_rai')) { log.error(`You must enable the 'muc_subscribe_to_rai' option before subscribing to a MUC.`); return; @@ -118,15 +118,16 @@ converse.plugins.add('converse-rai', { jids = [jids]; } - const muc_domains = jids.map(jid => Strophe.getDomainFromJid(jid)); + const muc_domains = _.uniq(jids.map(jid => Strophe.getDomainFromJid(jid))); - _.uniq(muc_domains).forEach(muc_domain => { - const rai = $pres({ to: muc_domain, id: u.getUniqueId() }).c('rai', { + for (let domain of muc_domains) { + const rai = $pres({ to: domain, id: u.getUniqueId() }).c('rai', { 'xmlns': Strophe.NS.RAI, }); - api.send(rai); - log.debug(`Sent RAI stanza for domain "${muc_domain}"`); - }); + + await _converse.connection.send(rai); + log.debug(`Sent RAI stanza for domain "${domain}"`); + } }, }); diff --git a/src/plugins/sib-subscribe-to-rai.js b/src/plugins/sib-subscribe-to-rai.js index 100673b5502c84303413f30da8b9e4018e2bd356..404109f7924ef30e5a45f0d5670ee577609068e6 100644 --- a/src/plugins/sib-subscribe-to-rai.js +++ b/src/plugins/sib-subscribe-to-rai.js @@ -57,8 +57,8 @@ converse.plugins.add('sib-subscribe-to-rai', { getProjects, ])).flat(); - api.listen.on('connected', () => { - api.rooms.subscribe(userRooms); + api.listen.on('connected', async () => { + await api.rooms.subscribe(userRooms); }); api.listen.on('chatRoomHasActivity', jid => {