From c39403c307741b34c1b6e6b1dc86b5ad5c0b72ab Mon Sep 17 00:00:00 2001 From: simon816 Date: Sun, 18 Jun 2023 00:58:16 +0100 Subject: [PATCH] Wait until user has logged in before fetching language preference. Fixes #4967 --- client/lib/i18n.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/client/lib/i18n.js b/client/lib/i18n.js index 2e3dd10a4..cab9d3e08 100644 --- a/client/lib/i18n.js +++ b/client/lib/i18n.js @@ -4,8 +4,19 @@ import { TAPi18n } from '/imports/i18n'; // the language reactively. If the user is not connected we use the language // information provided by the browser, and default to english. -Meteor.startup(() => { - const currentUser = Meteor.user(); +Meteor.startup(async () => { + let currentUser = Meteor.user(); + // If we're still logging in, wait (#4967) + if (!currentUser && Meteor.loggingIn()) { + await new Promise((resolve) => { + Tracker.autorun(() => { + if (!Meteor.loggingIn()) { + resolve(); + } + }); + }); + currentUser = Meteor.user(); + } // Select first available language const [language] = [ // User profile