From e210f26f9c1cc4821ec40eb05b0b67924ca04db0 Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Mon, 28 Apr 2025 13:04:56 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(frontend)=20prevent=20silent=20log?= =?UTF-8?q?in=20in=20webmail=20iframe=20integration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix calendar integration by preventing silent login triggers within webmail iframes. Refactor code to only initialize app components when not in SDK context. Resolves unexpected behavior in Firefox where iframes were incorrectly rendering the homepage instead of intended calendar content. --- src/frontend/src/App.tsx | 5 ++++- src/frontend/src/components/AppInitialization.tsx | 12 ++---------- .../src/features/sdk/hooks/useIsSdkContext.ts | 8 ++++++++ 3 files changed, 14 insertions(+), 11 deletions(-) create mode 100644 src/frontend/src/features/sdk/hooks/useIsSdkContext.ts diff --git a/src/frontend/src/App.tsx b/src/frontend/src/App.tsx index 72607b96..0a1d3c7e 100644 --- a/src/frontend/src/App.tsx +++ b/src/frontend/src/App.tsx @@ -13,14 +13,17 @@ import { routes } from './routes' import './i18n/init' import { queryClient } from '@/api/queryClient' import { AppInitialization } from '@/components/AppInitialization' +import { useIsSdkContext } from '@/features/sdk/hooks/useIsSdkContext' function App() { const { i18n } = useTranslation() useLang(i18n.language) + const isSDKContext = useIsSdkContext() + return ( - + {!isSDKContext && } diff --git a/src/frontend/src/components/AppInitialization.tsx b/src/frontend/src/components/AppInitialization.tsx index b99952f6..5b37d6ae 100644 --- a/src/frontend/src/components/AppInitialization.tsx +++ b/src/frontend/src/components/AppInitialization.tsx @@ -2,15 +2,9 @@ import { silenceLiveKitLogs } from '@/utils/livekit' import { useConfig } from '@/api/useConfig' import { useAnalytics } from '@/features/analytics/hooks/useAnalytics' import { useSupport } from '@/features/support/hooks/useSupport' -import { useLocation } from 'wouter' -import { useSyncUserPreferencesWithBackend } from '@/features/auth' - -const SDK_BASE_ROUTE = '/sdk' export const AppInitialization = () => { const { data } = useConfig() - const [location] = useLocation() - useSyncUserPreferencesWithBackend() const { analytics = {}, @@ -18,10 +12,8 @@ export const AppInitialization = () => { silence_livekit_debug_logs = false, } = data || {} - const isSDKContext = location.includes(SDK_BASE_ROUTE) - - useAnalytics({ ...analytics, isDisabled: isSDKContext }) - useSupport({ ...support, isDisabled: isSDKContext }) + useAnalytics(analytics) + useSupport(support) silenceLiveKitLogs(silence_livekit_debug_logs) diff --git a/src/frontend/src/features/sdk/hooks/useIsSdkContext.ts b/src/frontend/src/features/sdk/hooks/useIsSdkContext.ts new file mode 100644 index 00000000..dea5cd39 --- /dev/null +++ b/src/frontend/src/features/sdk/hooks/useIsSdkContext.ts @@ -0,0 +1,8 @@ +import { useLocation } from 'wouter' + +const SDK_BASE_ROUTE = '/sdk' + +export const useIsSdkContext = () => { + const [location] = useLocation() + return location.includes(SDK_BASE_ROUTE) +}