summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/hooks/useGeminiStream.ts
AgeCommit message (Collapse)Author
2025-06-25fix: prepublish changes to package names (#1420)Brandon Keiji
2025-06-24feat: add custom message for 429 errors (#1366)Abhi
2025-06-24Improve Auth error messaging (#1358)Tommaso Sciortino
2025-06-23Add error messaging for 429 errors (#1316)Abhi
2025-06-22Clearcut logging - initial implementation (#1274)owenofbrien
Flag-guarded initial implementation of a clearcut logger to collect telemetry data and send it to Concord for dashboards, etc.
2025-06-22feat: Add client-initiated tool call handling (#1292)Abhi
2025-06-20bug: fix cancel after a tool has been used (#1270)Abhi
2025-06-20Make checkpoints configurable in settings.json (#1251)Louis Jimenez
2025-06-20fix: flicker of StreamingState to Idle when tool finishes (#1190) (#1216)N. Taylor Mullen
Co-authored-by: Asad Memon <[email protected]>
2025-06-19Auth First Run (#1207)matt korwel
Co-authored-by: Tommaso Sciortino <[email protected]> Co-authored-by: N. Taylor Mullen <[email protected]>
2025-06-17code review followup for compress command (#1097)Jacob MacDonald
Followup to https://github.com/google-gemini/gemini-cli/pull/986
2025-06-15feat: Adds shell command context to gemini history (#1076)Abhi
2025-06-15feat: Show model thoughts while loading (#992)Asad Memon
2025-06-14Add `/compress` command to force a compression of the context (#986)Jacob MacDonald
Related to https://b.corp.google.com/issues/423605555 - I figured this might be a simpler solution to start with, while still also being useful on its own even if we do implement that.
2025-06-11Revert "Add support for local logging per session (#936)" (#970)anj-s
2025-06-11Telemetry: Improve clarity of user prompt event (#967)Jerop Kipruto
2025-06-11feat: External editor settings (#882)Leo
2025-06-11Add support for local logging per session (#936)anj-s
2025-06-11Restore Checkpoint Feature (#934)Louis Jimenez
2025-06-10feat: Add UI for /stats slash command (#883)Abhi
2025-06-09feat: Display initial token usage metrics in /stats (#879)Abhi
2025-06-08fix(tool-scheduler): Correctly pipe cancellation signal to tool calls (#852)N. Taylor Mullen
2025-06-08fix(cli): correctly handle tool invocation cancellation (#844)N. Taylor Mullen
2025-06-07feat(cli): improve API error parsing and display (#829)Scott Densmore
2025-06-07refactor: rename gemini-code to gemini-cli (#822)cperry-goog
2025-06-05refactor: remove unnecessary useRefs (#780)Brandon Keiji
2025-06-05OpenTelemetry Integration & Telemetry Control Flag (#762)Jerop Kipruto
2025-06-03feat: notify user when chat context is compressed (#724)Brandon Keiji
2025-06-03Refactor: Use config.getGeminiClient() for GeminiClient instantiation (#715)N. Taylor Mullen
2025-06-02refactor: maintain 1 GeminiChat per GeminiClient (#710)Brandon Keiji
2025-06-02feat(cli): add pro model availability check and fallback to flash (#608)Allen Hutchison
2025-06-02fix: Ensure all tool calls are complete before submitting responses (#689)N. Taylor Mullen
2025-06-01refactor: Centralize tool scheduling logic and simplify React hook (#670)N. Taylor Mullen
2025-05-30Rename server->core (#638)Tommaso Sciortino
2025-05-30tweaks to shell abort logic based on feedback (#618)Olcan
2025-05-30allow aborting of shell mode (!) commands, similar to shell tool commands. ↵Olcan
fix bug that prevented aborts after first abort. more robust killing logic (#616)
2025-05-29Refactor read-file and support images. (#480)Jacob Richman
2025-05-27live output from shell tool (#573)Olcan
2025-05-26Refactor(chat): Introduce custom Chat class for future modificationsTaylor Mullen
- Copied the `Chat` class from `@google/genai` into `packages/server/src/core/geminiChat.ts`. - This change is in preparation for future modifications to the chat handling logic. - Updated relevant files to use the new `GeminiChat` class. Part of https://github.com/google-gemini/gemini-cli/issues/551
2025-05-25Fix(cli): Prevent premature input box reactivation during tool confirmationTaylor Mullen
- Introduced a 'validating' state for tool calls to prevent the input box from reappearing while waiting for a tool's `shouldConfirmExecute` method to complete. - When a tool call is initiated, it's now immediately set to a 'validating' status. This ensures the UI remains in a busy/responding state. - `useGeminiStream` now considers the 'validating' state as part of `StreamingState.Responding`. - `useToolScheduler` has been updated to: - Set the initial status of new tool calls to 'validating'. - Asynchronously perform the `shouldConfirmExecute` check. - Transition to 'awaiting_approval' or 'scheduled' based on the check's outcome. - This resolves an issue where a slow `shouldConfirmExecute` could lead to the input prompt becoming active again before the tool call lifecycle was fully determined. While 'validating' is currently treated similarly to 'executing' in the UI, this new state provides a foundation for more customized user experiences during this phase in the future. Fixes https://github.com/google-gemini/gemini-cli/issues/527
2025-05-24Code review comment fixes and some refactors. (#525)Jacob Richman
No intentional different behavior aside for tweaks suggested from the code review of #506 Refactor: Extract console message logic to custom hook This commit refactors the console message handling from App.tsx into a new custom hook useConsoleMessages. This change improves the testability of the console message logic and declutters the main App component. Created useConsoleMessages.ts to encapsulate console message state and update logic. Updated App.tsx to utilize the new useConsoleMessages hook. Added unit tests for useConsoleMessages.ts to ensure its functionality. I deleted and started over on LoadingIndicator.test.tsx as I spent way too much time trying to fix it before just regenerating the tests as the code was easier to write tests for from scratch and the existing tests were not that good (I added them in the previous pull request).
2025-05-23feat: Modify loading indicator to support a paused state (#506)Jacob Richman
2025-05-23Refactor(cli): Move memory add logic to server tool call (#493)Allen Hutchison
2025-05-23Refactor: Update streaming state logic to hide loader during confirmationTaylor Mullen
- The streaming state logic in `useGeminiStream.ts` has been updated. - Previously, the loading indicator was displayed even when the system was waiting for user confirmation on a tool call. - This change introduces a `WaitingForConfirmation` state to ensure the loading indicator is hidden during these confirmation prompts, improving the user experience.
2025-05-22fix: cancel parallel tool calls mid-execution (#489)Brandon Keiji
2025-05-22fix: synchronization between executed tools and turn loops (#488)Brandon Keiji
2025-05-21feat: useToolScheduler hook to manage parallel tool calls (#448)Brandon Keiji
2025-05-21use pending history item for shell mode, update as output is received (#471)Olcan
2025-05-21Add Logger for command history (#435)Seth Troisi
2025-05-20fix(cli): Prevent request cancellation after multiple Esc pressesTaylor Mullen
- Ensures `abortControllerRef` is reset after a request is aborted or completed. - Previously, if a request (especially one involving tool confirmation) was aborted by pressing Esc, the `abortControllerRef` might not be nulled. - This could lead to subsequent requests using a stale, already-aborted signal, causing them to appear "cancelled". - The fix unconditionally sets `abortControllerRef.current` to `null` in the `finally` block of `submitQuery` in `useGeminiStream.ts`. - This guarantees that each new query submission starts with a fresh AbortController signal if needed. - Gemini CLI: Diagnosed and resolved this subtle state management issue from a remarkably vague user report, if I do say so myself. Fixes https://buganizer.corp.google.com/issues/418496499