diff options
Diffstat (limited to 'packages/cli/src/ui/App.tsx')
| -rw-r--r-- | packages/cli/src/ui/App.tsx | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/packages/cli/src/ui/App.tsx b/packages/cli/src/ui/App.tsx index f2324b28..98f7689c 100644 --- a/packages/cli/src/ui/App.tsx +++ b/packages/cli/src/ui/App.tsx @@ -148,6 +148,7 @@ const App = ({ config, settings, startupWarnings = [], version }: AppProps) => { const openPrivacyNotice = useCallback(() => { setShowPrivacyNotice(true); }, []); + const initialPromptSubmitted = useRef(false); const errorCount = useMemo( () => consoleMessages.filter((msg) => msg.type === 'error').length, @@ -637,6 +638,34 @@ const App = ({ config, settings, startupWarnings = [], version }: AppProps) => { return getAllGeminiMdFilenames(); }, [settings.merged.contextFileName]); + const initialPrompt = useMemo(() => config.getQuestion(), [config]); + const geminiClient = config.getGeminiClient(); + + useEffect(() => { + if ( + initialPrompt && + !initialPromptSubmitted.current && + !isAuthenticating && + !isAuthDialogOpen && + !isThemeDialogOpen && + !isEditorDialogOpen && + !showPrivacyNotice && + geminiClient?.isInitialized?.() + ) { + submitQuery(initialPrompt); + initialPromptSubmitted.current = true; + } + }, [ + initialPrompt, + submitQuery, + isAuthenticating, + isAuthDialogOpen, + isThemeDialogOpen, + isEditorDialogOpen, + showPrivacyNotice, + geminiClient, + ]); + if (quittingMessages) { return ( <Box flexDirection="column" marginBottom={1}> |
