diff --git a/src/backend/meet/settings.py b/src/backend/meet/settings.py index dd867a89..f1079e1d 100755 --- a/src/backend/meet/settings.py +++ b/src/backend/meet/settings.py @@ -307,6 +307,9 @@ class Base(Configuration): "silence_livekit_debug_logs": values.BooleanValue( False, environ_name="FRONTEND_SILENCE_LIVEKIT_DEBUG", environ_prefix=None ), + "is_silent_login_enabled": values.BooleanValue( + True, environ_name="FRONTEND_IS_SILENT_LOGING_ENABLED", environ_prefix=None + ), } # Mail diff --git a/src/frontend/src/api/useConfig.ts b/src/frontend/src/api/useConfig.ts index 03a43126..825914a2 100644 --- a/src/frontend/src/api/useConfig.ts +++ b/src/frontend/src/api/useConfig.ts @@ -12,6 +12,7 @@ export interface ApiConfig { id: string } silence_livekit_debug_logs?: boolean + is_silent_login_enabled?: boolean recording?: { is_enabled?: boolean available_modes?: RecordingMode[] diff --git a/src/frontend/src/features/auth/api/useUser.tsx b/src/frontend/src/features/auth/api/useUser.tsx index a1b2ad3a..82c44486 100644 --- a/src/frontend/src/features/auth/api/useUser.tsx +++ b/src/frontend/src/features/auth/api/useUser.tsx @@ -2,7 +2,7 @@ import { useQuery } from '@tanstack/react-query' import { keys } from '@/api/queryKeys' import { fetchUser } from './fetchUser' import { type ApiUser } from './ApiUser' -import { useEffect } from 'react' +import { useEffect, useMemo } from 'react' import { startAnalyticsSession, terminateAnalyticsSession, @@ -12,6 +12,7 @@ import { terminateSupportSession, } from '@/features/support/hooks/useSupport' import { logoutUrl } from '../utils/logoutUrl' +import { useConfig } from '@/api/useConfig' /** * returns info about currently logged-in user @@ -23,11 +24,24 @@ export const useUser = ( fetchUserOptions?: Parameters[0] } = {} ) => { + const { data, isLoading } = useConfig() + + const options = useMemo(() => { + if (!data || data?.is_silent_login_enabled !== true) { + return { + ...opts, + attemptSilent: false, + } + } + return opts.fetchUserOptions + }, [data, opts]) + const query = useQuery({ // eslint-disable-next-line @tanstack/query/exhaustive-deps queryKey: [keys.user], - queryFn: () => fetchUser(opts.fetchUserOptions), + queryFn: () => fetchUser(options), staleTime: Infinity, + enabled: !isLoading, }) useEffect(() => {