Commit Graph

2705 Commits

Author SHA1 Message Date
Jarrod Whelan
8db8899158 fix(cli): strengthen identity management and resolve key collisions / key duplication issues
- Improve history ID generation logic to be strictly increasing, preventing "Transition Race" collisions between pending and finalized items.
- Strengthen ID tracking to correctly handle session resumes by ensuring new IDs always start after the highest existing entry.
- Assign unique negative IDs and negatively indexed keys (`pending-${i}`) to pending history items in `MainContent`.
- Add a global `callIdCounter` to `acpClient` to safeguard against sub-millisecond tool call collisions.
- Harden `DenseToolMessage` rendering with stable string keys for conditional UI components.
- Update unit tests to verify strictly increasing ID generation and align with negatively indexed pending IDs.
2026-03-14 02:40:50 -07:00
Jarrod Whelan
236fb0290d fix(cli,core): resolve build issues with structured tool result display
- Added `isStructuredToolResult` type guard to safely check for `summary` properties on tool results in `ToolResultDisplay`.
- Resolved `data.slice is not a function` errors in UI tests caused by structured tool results falling back to `AnsiOutput` parsing.
- Updated `DiffRenderer` assertions to include `disableColor: false`.
- Updated `ReadManyFilesTool` tests to assert against the new `ReadManyFilesResult` object structure instead of flat strings.
- Removed unsafe type assertions (`any`) in `ToolGroupMessage.compact.test.tsx` and `ToolGroupMessage.tsx` where possible.
- docs: sync settings and configuration with latest schema
- wrap waitUntilReady in `act` to resolve spinner warnings
2026-03-14 02:40:50 -07:00
Jarrod Whelan
9588effa29 Output Layout, Borders and Spacing
- fix(ui): update ToolGroupMessage to support stitched borders and dynamic margins
- fix(ui): implement border stitching in history pushing to eliminate gaps
- test(ui): update snapshots and test assertions for new layout
- style(ui): wrap dense tool payloads with vertical margins
    - Adds margins above and below dense payload content to allow compact output to consume a single line until expanded.
- fix(ui): unify spacing logic and border handling for tool groups
    - Corrects transitions between compact and standard tools to not add redundant empty lines and ensures history stitching respects boundaries.
- fix(ui): ensure top border is rendered within completed history for standard tool output when following compact tool output
    - Addresses an issue where non-compact tools pushed to history at the end of a batch (via onComplete) were missing their top border and proper margin if they followed compact tools already pushed to history.
    - The fix updates the onComplete callback in useGeminiStream.ts to be transition-aware. It now explicitly detects when a final push starts with a non-compact tool following a compact tool from the same batch, forcing borderTop: true in that case.
    - Previously, the logic relied solely on isFirstToolInGroupRef, which would be false if any earlier tools in the batch had already been pushed, causing the final non-compact tools to incorrectly inherit a borderless state from the preceding compact tools.

----------------------
Note: ToolGroupMessage.tsx and ToolGroupMessage.compact.test.tsx contain 'any' usage/unsafe assertions to be addressed before PR.
2026-03-14 02:32:21 -07:00
Jarrod Whelan
afa3c13745 Scaffolding and Foundation Changes
- feat(cli): add compactToolOutput ui setting
- feat(cli): add DenseToolMessage component and supporting rendering logic
- feat(cli): implement compact tool output rendering logic in ToolGroupMessage
- feat(core): add tool display name constants and update tool constructors
- feat(cli): update compact output allowlist to use DISPLAY_NAME constants
- test(cli): add compact tool output rendering and spacing tests

-----
Note: Unsafe assignments/assertions/'any' usage still exist in ToolGroupMessage.tsx and DenseToolMessage.tsx and need to be addressed before PR.
Note: Tests contain 'any' casts for mocks that need to be addressed before PR.
2026-03-14 02:20:45 -07:00
Abhijit Balaji
9f7691fd88 feat(prompts): implement Topic-Action-Summary model for verbosity reduction (#21503) 2026-03-14 05:10:30 +00:00
Sehoon Shon
8d68ece8d6 Revert "fix(cli): validate --model argument at startup" (#22378) 2026-03-13 23:17:29 +00:00
Gal Zahavi
b49fc8122d feat(security): add disableAlwaysAllow setting to disable auto-approvals (#21941) 2026-03-13 23:02:09 +00:00
Tommaso Sciortino
24933a90d0 fix(cli): support CJK input and full Unicode scalar values in terminal protocols (#22353) 2026-03-13 21:24:26 +00:00
Gal Zahavi
fa024133e6 feat(core): integrate SandboxManager to sandbox all process-spawning tools (#22231) 2026-03-13 21:11:51 +00:00
gemini-cli-robot
aa23da67af chore/release: bump version to 0.35.0-nightly.20260313.bb060d7a9 (#22251) 2026-03-13 20:33:16 +00:00
cynthialong0-0
bfbd3c40a7 feat(agent): add allowed domain restrictions for browser agent (#21775) 2026-03-13 19:41:40 +00:00
anj-s
dd8d4c98b3 feat(tracker): return TodoList display for tracker tools (#22060) 2026-03-13 18:18:33 +00:00
Abhi
3b601b3d90 refactor(ui): extract SessionBrowser static ui components (#22348) 2026-03-13 17:25:13 +00:00
Alexander Farber
aa000d7d30 fix(core): show descriptive error messages when saving settings fails (#18095)
Co-authored-by: Dev Randalpura <devrandalpura@google.com>
2026-03-13 16:19:56 +00:00
Tommaso Sciortino
2a7e602356 refactor(cli): consolidate getErrorMessage utility to core (#22190) 2026-03-13 15:40:29 +00:00
Ankit
c156bac5f7 fix(settings): prevent j/k navigation keys from intercepting edit buffer input (#21865) 2026-03-13 14:55:36 +00:00
Adib234
263b8cd3b3 fix(plan): Fix AskUser evals (#22074) 2026-03-13 13:30:19 +00:00
Abhi
2d05396dd2 refactor(ui): extract pure session browser utilities (#22256) 2026-03-13 06:22:52 +00:00
krishdef7
19e0b1ff7d fix(cli): escape @ symbols on paste to prevent unintended file expansion (#21239) 2026-03-12 22:05:12 +00:00
Alisa
4d393f9dca feat(a2a): enable native gRPC support and protocol routing (#21403)
Co-authored-by: Adam Weidman <adamfweidman@google.com>
2026-03-12 21:36:50 +00:00
Sehoon Shon
b6beab9480 perf(cli): enable code splitting and deferred UI loading (#22117) 2026-03-12 20:37:03 +00:00
Abhi
7242d71c01 fix(core): prevent duplicate tool schemas for instantiated tools (#22204) 2026-03-12 19:09:23 +00:00
Spencer
73c589f9e3 feat(cli): allow safe tools to execute concurrently while agent is busy (#21988) 2026-03-12 16:03:53 +00:00
Jaisal K Jain
34709dc62d fix(cli): validate --model argument at startup (#21393)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-12 14:38:54 +00:00
Jack Wotherspoon
a38aaa47fb chore: remove unnecessary log for themes (#22165) 2026-03-12 13:51:36 +00:00
Sehoon Shon
18e8dd768a feat(ui): Do not show Ultra users /upgrade hint (#22154) (#22156) 2026-03-12 13:46:58 +00:00
Jack Wotherspoon
45faf4d31b fix: register themes on extension load not start (#22148) 2026-03-12 13:38:09 +00:00
Aditya Bijalwan
333475c41f feat(browser): implement input blocker overlay during automation (#21132)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Gaurav <39389231+gsquared94@users.noreply.github.com>
Co-authored-by: Gaurav Ghosh <gaghosh@google.com>
2026-03-12 11:29:57 +00:00
Sri Pasumarthi
41d4f59f5e feat: Display pending and confirming tool calls (#22106)
Co-authored-by: Spencer <spencertang@google.com>
2026-03-12 05:57:37 +00:00
Adam Weidman
10ab958378 refactor(core): extract ExecutionLifecycleService for tool backgrounding (#21717) 2026-03-12 04:03:54 +00:00
Bryan Morgan
949e85ca55 feat(core): differentiate User-Agent for a2a-server and ACP clients (#22059) 2026-03-12 02:31:59 +00:00
N. Taylor Mullen
7380424782 fix(policy): ensure user policies are loaded when policyPaths is empty (#22090) 2026-03-11 23:58:58 +00:00
N. Taylor Mullen
f368e80baf fix(cli): resolve skill uninstall failure when skill name is updated (#22085) 2026-03-11 23:23:20 +00:00
Gal Zahavi
e3b3b71c14 feat(core): implement SandboxManager interface and config schema (#21774)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-11 21:42:50 +00:00
nityam
352bbc36c0 merge duplicate imports packages/cli/src subtask3 (#22056) 2026-03-11 21:21:40 +00:00
nityam
be16caece2 merge duplicate imports packages/cli/src subtask2 (#22051) 2026-03-11 20:14:12 +00:00
Ali Anari
08e174a05c feat(ui): add vim yank/paste (y/p/P) with unnamed register (#22026)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
2026-03-11 18:43:42 +00:00
nityam
016d5d8eb6 merge duplicate imports packages/cli/src subtask1 (#22040) 2026-03-11 17:50:42 +00:00
Gal Zahavi
6900fe5527 feat(policy): add --admin-policy flag for supplemental admin policies (#20360) 2026-03-11 17:35:45 +00:00
Tommaso Sciortino
7e9e196793 feat(cli): support removing keybindings via '-' prefix (#22042) 2026-03-11 17:34:03 +00:00
Jack Wotherspoon
b804fe9662 fix: clean up /clear and /resume (#22007) 2026-03-11 15:23:23 +00:00
Gyanranjan Priyam
99bbbc2170 docs: fix misleading YOLO mode description in defaultApprovalMode (#21878)
Co-authored-by: Adib234 <30782825+Adib234@users.noreply.github.com>
Co-authored-by: A.K.M. Adib <adibakm@google.com>
2026-03-11 15:10:55 +00:00
Tommaso Sciortino
3e3d04877b docs(cli): add custom keybinding documentation (#21980) 2026-03-11 14:25:24 +00:00
Nick Salerni
88638c14f7 fix(cli): allow scrolling keys in copy mode (Ctrl+S selection mode) (#19933)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
2026-03-11 07:16:25 +00:00
Ali Anari
f16f13fba8 fix(ui): clamp cursor to last char after all NORMAL mode deletes (#21973) 2026-03-11 06:22:12 +00:00
Tommaso Sciortino
075e0b1a81 feat(cli): support literal character keybindings and extended Kitty protocol keys (#21972) 2026-03-11 04:49:20 +00:00
Aishanee Shah
f8ad3a200a Feat/retry fetch notifications (#21813) 2026-03-11 03:33:50 +00:00
Ali Anari
8b09ccc288 feat(ui): add missing vim mode motions (X, ~, r, f/F/t/T, df/dt and friends) (#21932) 2026-03-11 03:27:06 +00:00
gemini-cli-robot
3a0c9a0d39 chore(release): bump version to 0.35.0-nightly.20260311.657f19c1f (#21966) 2026-03-11 02:36:40 +00:00
joshualitt
20a226a5ab feat(core): Thread AgentLoopContext through core. (#21944) 2026-03-11 01:12:59 +00:00