From c29bc99e32f8a1435d3df8633e059a3d0c90bb24 Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Wed, 8 May 2019 13:36:38 -0300 Subject: [PATCH 1/3] allow users to skip activeUsers to be ready --- app/ui-master/client/main.js | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/app/ui-master/client/main.js b/app/ui-master/client/main.js index 644607d467bdb..06dc4606ab620 100644 --- a/app/ui-master/client/main.js +++ b/app/ui-master/client/main.js @@ -5,13 +5,14 @@ import { Match } from 'meteor/check'; import { Tracker } from 'meteor/tracker'; import { FlowRouter } from 'meteor/kadira:flow-router'; import { t, getUserPreference } from '../../utils'; +import { getConfig } from '../../ui-utils/client/config'; import { Session } from 'meteor/session'; import { Template } from 'meteor/templating'; import { chatMessages } from '../../ui'; import { mainReady, Layout, iframeLogin, modal, popover, menu, fireGlobalEvent, RoomManager } from '../../ui-utils'; import { toolbarSearch } from '../../ui-sidenav'; import { settings } from '../../settings'; -import { CachedChatSubscription, Roles, ChatSubscription } from '../../models'; +import { CachedChatSubscription, Roles, ChatSubscription, Users } from '../../models'; import { CachedCollectionManager } from '../../ui-cached-collection'; import { hasRole } from '../../authorization'; import { tooltip } from '../../tooltip'; @@ -131,6 +132,8 @@ Template.main.onCreated(function() { tooltip.init(); }); + +const useExperimentalConfigs = getConfig('experimental') === 'true'; Template.main.helpers({ removeSidenav() { return Layout.isEmbedded() && !/^\/admin/.test(FlowRouter.current().route.path); @@ -156,18 +159,26 @@ Template.main.helpers({ return iframeEnabled && iframeLogin.reactiveIframeUrl.get(); }, subsReady() { - const routerReady = FlowRouter.subsReady('userData', 'activeUsers'); + const subscriptions = ['userData']; + if (useExperimentalConfigs) { + subscriptions.push('activeUsers'); + } + const routerReady = FlowRouter.subsReady.apply(FlowRouter, subscriptions); + const subscriptionsReady = CachedChatSubscription.ready.get(); const settingsReady = settings.cachedCollection.ready.get(); - const ready = (Meteor.userId() == null) || (routerReady && subscriptionsReady && settingsReady); + + const ready = (routerReady && subscriptionsReady && settingsReady) || (Meteor.userId() == null); + CachedCollectionManager.syncEnabled = ready; - Meteor.defer(() => { - mainReady.set(ready); - }); + mainReady.set(ready); + return ready; }, hasUsername() { - return (Meteor.userId() != null && Meteor.user().username != null) || (Meteor.userId() == null && settings.get('Accounts_AllowAnonymousRead') === true); + const uid = Meteor.userId(); + const user = uid && Users.findOne({ _id: uid }, { fields: { username: 1 } }); + return (user && user.username) || settings.get('Accounts_AllowAnonymousRead'); }, requirePasswordChange() { const user = Meteor.user(); From 0697db4bd5ce453e6e055a1d58db07020a422098 Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Wed, 8 May 2019 14:08:18 -0300 Subject: [PATCH 2/3] Update main.js --- app/ui-master/client/main.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/ui-master/client/main.js b/app/ui-master/client/main.js index 06dc4606ab620..7e7455022ebd2 100644 --- a/app/ui-master/client/main.js +++ b/app/ui-master/client/main.js @@ -133,7 +133,7 @@ Template.main.onCreated(function() { }); -const useExperimentalConfigs = getConfig('experimental') === 'true'; +const skipActiveUsersToBeReady = [getConfig('experimental'), getConfig('skipActiveUsersToBeReady')].includes('true'); Template.main.helpers({ removeSidenav() { return Layout.isEmbedded() && !/^\/admin/.test(FlowRouter.current().route.path); @@ -160,7 +160,7 @@ Template.main.helpers({ }, subsReady() { const subscriptions = ['userData']; - if (useExperimentalConfigs) { + if (!skipActiveUsersToBeReady) { subscriptions.push('activeUsers'); } const routerReady = FlowRouter.subsReady.apply(FlowRouter, subscriptions); From d71fddd849e46b7389cff9274de89cc9cac3c280 Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Wed, 8 May 2019 17:49:11 -0300 Subject: [PATCH 3/3] Update app/ui-master/client/main.js Co-Authored-By: ggazzo --- app/ui-master/client/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/ui-master/client/main.js b/app/ui-master/client/main.js index 7e7455022ebd2..0371c0a84707b 100644 --- a/app/ui-master/client/main.js +++ b/app/ui-master/client/main.js @@ -168,7 +168,7 @@ Template.main.helpers({ const subscriptionsReady = CachedChatSubscription.ready.get(); const settingsReady = settings.cachedCollection.ready.get(); - const ready = (routerReady && subscriptionsReady && settingsReady) || (Meteor.userId() == null); + const ready = (routerReady && subscriptionsReady && settingsReady) || !Meteor.userId(); CachedCollectionManager.syncEnabled = ready; mainReady.set(ready);