diff --git a/apps/meteor/app/lib/client/index.ts b/apps/meteor/app/lib/client/index.ts index adc08a668713..35ec26a6f1df 100644 --- a/apps/meteor/app/lib/client/index.ts +++ b/apps/meteor/app/lib/client/index.ts @@ -1,4 +1,3 @@ -import './startup/settingsOnLoadSiteUrl'; import '../lib/MessageTypes'; import './OAuthProxy'; import './methods/sendMessage'; diff --git a/apps/meteor/app/lib/client/startup/settingsOnLoadSiteUrl.ts b/apps/meteor/app/lib/client/startup/settingsOnLoadSiteUrl.ts deleted file mode 100644 index 976eef8405f3..000000000000 --- a/apps/meteor/app/lib/client/startup/settingsOnLoadSiteUrl.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Meteor } from 'meteor/meteor'; -import { Tracker } from 'meteor/tracker'; - -import { settings } from '../../../settings/client'; - -Meteor.startup(() => { - Tracker.autorun(() => { - const value = settings.get('Site_Url'); - if (value == null || value.trim() === '') { - return; - } - (window as any).__meteor_runtime_config__.ROOT_URL = value; - }); -}); diff --git a/apps/meteor/client/views/root/AppLayout.tsx b/apps/meteor/client/views/root/AppLayout.tsx index 8a4485ceef7b..660a198dfbe3 100644 --- a/apps/meteor/client/views/root/AppLayout.tsx +++ b/apps/meteor/client/views/root/AppLayout.tsx @@ -6,6 +6,7 @@ import PageLoading from './PageLoading'; import { useEscapeKeyStroke } from './hooks/useEscapeKeyStroke'; import { useGoogleTagManager } from './hooks/useGoogleTagManager'; import { useMessageLinkClicks } from './hooks/useMessageLinkClicks'; +import { useSettingsOnLoadSiteUrl } from './hooks/useSettingsOnLoadSiteUrl'; import { useAnalytics } from '../../../app/analytics/client/loadScript'; import { useAnalyticsEventTracking } from '../../hooks/useAnalyticsEventTracking'; import { useLoadRoomForAllowedAnonymousRead } from '../../hooks/useLoadRoomForAllowedAnonymousRead'; @@ -29,6 +30,8 @@ const AppLayout = () => { useLoadRoomForAllowedAnonymousRead(); useNotifyUser(); + useSettingsOnLoadSiteUrl(); + const layout = useSyncExternalStore(appLayout.subscribe, appLayout.getSnapshot); return ( diff --git a/apps/meteor/client/views/root/hooks/useSettingsOnLoadSiteUrl.ts b/apps/meteor/client/views/root/hooks/useSettingsOnLoadSiteUrl.ts new file mode 100644 index 000000000000..8b35ed7ad0e3 --- /dev/null +++ b/apps/meteor/client/views/root/hooks/useSettingsOnLoadSiteUrl.ts @@ -0,0 +1,14 @@ +import { useSetting } from '@rocket.chat/ui-contexts'; +import { useEffect } from 'react'; + +export const useSettingsOnLoadSiteUrl = () => { + const siteUrl = useSetting('Site_Url') as string; + + useEffect(() => { + const value = siteUrl; + if (value == null || value.trim() === '') { + return; + } + (window as any).__meteor_runtime_config__.ROOT_URL = value; + }, [siteUrl]); +};