From 74ee783685be6a88f37add87234aec6ba1daf990 Mon Sep 17 00:00:00 2001 From: JC Brand Date: Wed, 18 Nov 2020 11:43:53 +0100 Subject: [PATCH] Fixes #1471 Wait when fetching config, otherwise default of `true` for `trusted` is used erroneously. --- src/converse-controlbox.js | 2 +- src/headless/converse-core.js | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/converse-controlbox.js b/src/converse-controlbox.js index 34ecad3f4..211c172a5 100644 --- a/src/converse-controlbox.js +++ b/src/converse-controlbox.js @@ -420,7 +420,7 @@ converse.plugins.add('converse-controlbox', { if (!this.validate()) { return; } const form_data = new FormData(ev.target); - _converse.config.save({ 'trusted': form_data.get('trusted') && true || false }); + _converse.config.save({'trusted': form_data.get('trusted') && true || false}); let jid = form_data.get('jid'); if (api.settings.get('locked_domain')) { diff --git a/src/headless/converse-core.js b/src/headless/converse-core.js index 57f6ec8f4..c24313f76 100644 --- a/src/headless/converse-core.js +++ b/src/headless/converse-core.js @@ -1069,7 +1069,7 @@ function initPlugins () { } -function initClientConfig () { +async function initClientConfig () { /* The client config refers to configuration of the client which is * independent of any particular user. * What this means is that config values need to persist across @@ -1078,7 +1078,7 @@ function initClientConfig () { const id = 'converse.client-config'; _converse.config = new Model({ id, 'trusted': true }); _converse.config.browserStorage = createStore(id, "session"); - _converse.config.fetch(); + await new Promise(r => _converse.config.fetch({'success': r, 'error': r})); /** * Triggered once the XMPP-client configuration has been initialized. * The client configuration is independent of any particular and its values @@ -1559,7 +1559,7 @@ Object.assign(converse, { _converse.send_initial_presence = true; await initSessionStorage(); - initClientConfig(); + await initClientConfig(); await i18n.initialize(); initPlugins(); registerGlobalEventHandlers();