Explorar el Código

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

simon816 hace 2 años
padre
commit
c39403c307
Se han modificado 1 ficheros con 13 adiciones y 2 borrados
  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
 // the language reactively. If the user is not connected we use the language
 // information provided by the browser, and default to english.
 // 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
   // Select first available language
   const [language] = [
   const [language] = [
     // User profile
     // User profile