Browse Source

Merge pull request #4968 from simon816/fix-language-not-persisting

Wait until user has logged in before fetching language preference
Lauri Ojansivu 2 years ago
parent
commit
3f09b54e04
1 changed files with 13 additions and 2 deletions
  1. 13 2
      client/lib/i18n.js

+ 13 - 2
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