Pārlūkot izejas kodu

Wait until user has logged in before fetching language preference. Fixes #4967

simon816 1 gadu atpakaļ
vecāks
revīzija
c39403c307
1 mainītis faili ar 13 papildinājumiem un 2 dzēšanām
  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