From 8f8e413b3535cbcba3ffecbf481d452c347ae2d5 Mon Sep 17 00:00:00 2001 From: Tiago Evangelista Pinto Date: Tue, 19 Nov 2024 19:27:28 -0300 Subject: [PATCH] chore: Remove meteor cached collection startup for anons (#33975) --- .../hooks/useLoadRoomForAllowedAnonymousRead.ts | 16 ++++++++++++++++ apps/meteor/client/startup/collections.ts | 14 -------------- apps/meteor/client/startup/index.ts | 1 - apps/meteor/client/views/root/AppLayout.tsx | 2 ++ 4 files changed, 18 insertions(+), 15 deletions(-) create mode 100644 apps/meteor/client/hooks/useLoadRoomForAllowedAnonymousRead.ts delete mode 100644 apps/meteor/client/startup/collections.ts diff --git a/apps/meteor/client/hooks/useLoadRoomForAllowedAnonymousRead.ts b/apps/meteor/client/hooks/useLoadRoomForAllowedAnonymousRead.ts new file mode 100644 index 00000000000..b53ed9dde34 --- /dev/null +++ b/apps/meteor/client/hooks/useLoadRoomForAllowedAnonymousRead.ts @@ -0,0 +1,16 @@ +import { useSetting, useUserId } from '@rocket.chat/ui-contexts'; +import { useEffect } from 'react'; + +import { CachedChatRoom, CachedChatSubscription } from '../../app/models/client'; + +export const useLoadRoomForAllowedAnonymousRead = () => { + const userId = useUserId(); + const accountsAllowAnonymousRead = useSetting('Accounts_AllowAnonymousRead'); + + useEffect(() => { + if (!userId && accountsAllowAnonymousRead === true) { + CachedChatRoom.init(); + CachedChatSubscription.ready.set(true); + } + }, [accountsAllowAnonymousRead, userId]); +}; diff --git a/apps/meteor/client/startup/collections.ts b/apps/meteor/client/startup/collections.ts deleted file mode 100644 index 304047fd9c1..00000000000 --- a/apps/meteor/client/startup/collections.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Tracker } from 'meteor/tracker'; - -import { CachedChatRoom, CachedChatSubscription } from '../../app/models/client'; -import { settings } from '../../app/settings/client'; - -Meteor.startup(() => { - Tracker.autorun(() => { - if (!Meteor.userId() && settings.get('Accounts_AllowAnonymousRead') === true) { - CachedChatRoom.init(); - CachedChatSubscription.ready.set(true); - } - }); -}); diff --git a/apps/meteor/client/startup/index.ts b/apps/meteor/client/startup/index.ts index e2264d79541..569b11bf1c1 100644 --- a/apps/meteor/client/startup/index.ts +++ b/apps/meteor/client/startup/index.ts @@ -5,7 +5,6 @@ import './afterLogoutCleanUp'; import './appRoot'; import './audit'; import './callbacks'; -import './collections'; import './customOAuth'; import './deviceManagement'; import './e2e'; diff --git a/apps/meteor/client/views/root/AppLayout.tsx b/apps/meteor/client/views/root/AppLayout.tsx index 68e97c51d49..20c117739d3 100644 --- a/apps/meteor/client/views/root/AppLayout.tsx +++ b/apps/meteor/client/views/root/AppLayout.tsx @@ -8,6 +8,7 @@ import { useGoogleTagManager } from './hooks/useGoogleTagManager'; import { useMessageLinkClicks } from './hooks/useMessageLinkClicks'; import { useAnalytics } from '../../../app/analytics/client/loadScript'; import { useAnalyticsEventTracking } from '../../hooks/useAnalyticsEventTracking'; +import { useLoadRoomForAllowedAnonymousRead } from '../../hooks/useLoadRoomForAllowedAnonymousRead'; import { useNotifyUser } from '../../hooks/useNotifyUser'; import { appLayout } from '../../lib/appLayout'; @@ -25,6 +26,7 @@ const AppLayout = () => { useAnalytics(); useEscapeKeyStroke(); useAnalyticsEventTracking(); + useLoadRoomForAllowedAnonymousRead(); useNotifyUser(); const layout = useSyncExternalStore(appLayout.subscribe, appLayout.getSnapshot);