From 2353a6d253240e68c513e6b98d02eaf21b3807c6 Mon Sep 17 00:00:00 2001 From: Dev Randalpura Date: Mon, 6 Apr 2026 16:17:05 -0400 Subject: [PATCH] fix(ui): fixed auth race condition causing logo to flicker (#24652) --- packages/cli/src/test-utils/render.tsx | 2 ++ packages/cli/src/ui/components/AppHeader.tsx | 11 +++++++++-- packages/cli/src/ui/components/MainContent.tsx | 4 ++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/test-utils/render.tsx b/packages/cli/src/test-utils/render.tsx index ff9bbb78a7..bf8ca468eb 100644 --- a/packages/cli/src/test-utils/render.tsx +++ b/packages/cli/src/test-utils/render.tsx @@ -504,6 +504,8 @@ const baseMockUiState = { history: [], renderMarkdown: true, streamingState: StreamingState.Idle, + isConfigInitialized: true, + isAuthenticating: false, terminalWidth: 100, terminalHeight: 40, currentModel: 'gemini-pro', diff --git a/packages/cli/src/ui/components/AppHeader.tsx b/packages/cli/src/ui/components/AppHeader.tsx index 7d0ef75a36..1b3d9b2cfa 100644 --- a/packages/cli/src/ui/components/AppHeader.tsx +++ b/packages/cli/src/ui/components/AppHeader.tsx @@ -59,13 +59,20 @@ const NARROW_TERMINAL_BREAKPOINT = 60; export const AppHeader = ({ version, showDetails = true }: AppHeaderProps) => { const settings = useSettings(); const config = useConfig(); - const { terminalWidth, bannerData, bannerVisible, updateInfo } = useUIState(); + const { + terminalWidth, + bannerData, + bannerVisible, + updateInfo, + isConfigInitialized, + isAuthenticating, + } = useUIState(); const { bannerText } = useBanner(bannerData); const { showTips } = useTips(); const authType = config.getContentGeneratorConfig()?.authType; - const loggedOut = !authType; + const loggedOut = isConfigInitialized && !isAuthenticating && !authType; const showHeader = !( settings.merged.ui.hideBanner || config.getScreenReader() diff --git a/packages/cli/src/ui/components/MainContent.tsx b/packages/cli/src/ui/components/MainContent.tsx index 9bfa4184af..b46af4965b 100644 --- a/packages/cli/src/ui/components/MainContent.tsx +++ b/packages/cli/src/ui/components/MainContent.tsx @@ -336,6 +336,10 @@ export const MainContent = () => { isAlternateBuffer, ]); + if (!uiState.isConfigInitialized) { + return null; + } + if (isAlternateBufferOrTerminalBuffer) { return scrollableList; }