diff options
| author | Brandon Keiji <[email protected]> | 2025-06-05 21:33:24 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-05 21:33:24 +0000 |
| commit | 2285bba66eced3eee2b97ece250ec6e590f76efc (patch) | |
| tree | b9a28b56a3c87047a1a15158cf443b3f09606834 /packages/cli/src/ui/hooks/useGeminiStream.ts | |
| parent | d3a1026ae39c3e8afbab86ec0bb27c4b780d8814 (diff) | |
refactor: remove unnecessary useRefs (#780)
Diffstat (limited to 'packages/cli/src/ui/hooks/useGeminiStream.ts')
| -rw-r--r-- | packages/cli/src/ui/hooks/useGeminiStream.ts | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/packages/cli/src/ui/hooks/useGeminiStream.ts b/packages/cli/src/ui/hooks/useGeminiStream.ts index 0b42c161..3889fbe6 100644 --- a/packages/cli/src/ui/hooks/useGeminiStream.ts +++ b/packages/cli/src/ui/hooks/useGeminiStream.ts @@ -65,6 +65,7 @@ enum StreamProcessingStatus { * API interaction, and tool call lifecycle. */ export const useGeminiStream = ( + geminiClient: GeminiClient | null, addItem: UseHistoryManagerReturn['addItem'], setShowHelp: React.Dispatch<React.SetStateAction<boolean>>, config: Config, @@ -76,7 +77,6 @@ export const useGeminiStream = ( ) => { const [initError, setInitError] = useState<string | null>(null); const abortControllerRef = useRef<AbortController | null>(null); - const geminiClientRef = useRef<GeminiClient | null>(null); const [isResponding, setIsResponding] = useState<boolean>(false); const [pendingHistoryItemRef, setPendingHistoryItem] = useStateAndRef<HistoryItemWithoutId | null>(null); @@ -142,19 +142,6 @@ export const useGeminiStream = ( return StreamingState.Idle; }, [isResponding, toolCalls]); - useEffect(() => { - setInitError(null); - if (!geminiClientRef.current) { - try { - geminiClientRef.current = config.getGeminiClient(); - } catch (error: unknown) { - const errorMsg = `Failed to initialize client: ${getErrorMessage(error) || 'Unknown error'}`; - setInitError(errorMsg); - addItem({ type: MessageType.ERROR, text: errorMsg }, Date.now()); - } - } - }, [config, addItem]); - useInput((_input, key) => { if (streamingState !== StreamingState.Idle && key.escape) { abortControllerRef.current?.abort(); @@ -450,9 +437,7 @@ export const useGeminiStream = ( return; } - const client = geminiClientRef.current; - - if (!client) { + if (!geminiClient) { const errorMsg = 'Gemini client is not available.'; setInitError(errorMsg); addItem({ type: MessageType.ERROR, text: errorMsg }, Date.now()); @@ -463,7 +448,7 @@ export const useGeminiStream = ( setInitError(null); try { - const stream = client.sendMessageStream(queryToSend, abortSignal); + const stream = geminiClient.sendMessageStream(queryToSend, abortSignal); const processingStatus = await processGeminiStreamEvents( stream, userMessageTimestamp, @@ -501,6 +486,7 @@ export const useGeminiStream = ( addItem, setPendingHistoryItem, setInitError, + geminiClient, ], ); |
