fix(plan): persist the approval mode in UI even when agent is thinking#18955
fix(plan): persist the approval mode in UI even when agent is thinking#18955
Conversation
|
Hi @Adib234, thank you so much for your contribution to Gemini CLI! We really appreciate the time and effort you've put into this. We're making some updates to our contribution process to improve how we track and review changes. Please take a moment to review our recent discussion post: Improving Our Contribution Process & Introducing New Guidelines. Key Update: Starting January 26, 2026, the Gemini CLI project will require all pull requests to be associated with an existing issue. Any pull requests not linked to an issue by that date will be automatically closed. Thank you for your understanding and for being a part of our community! |
Summary of ChangesHello @Adib234, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request resolves a user experience issue where the Approval Mode indicator would become hidden while the system was streaming a response. By refactoring the rendering logic of key UI components, the Approval Mode indicator is now persistently displayed, ensuring continuous visibility of the current operational mode and improving overall clarity for the user. Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request aims to ensure the ApprovalModeIndicator remains visible in the UI while the agent is processing a request. The changes correctly adjust the conditional rendering logic in the Composer component to achieve this. A new test case has been added to validate this fix. The changes also include a minor refactoring of the LoadingIndicator's position. Overall, the implementation is sound and effectively addresses the stated issue.
|
Size Change: +162 B (0%) Total Size: 24.4 MB ℹ️ View Unchanged
|
|
Thanks for this PR! The title and description look great and it addresses the issue well. I noticed a couple of UI layout and consistency points during review:
Let me know what you think about these points! |
a041d23 to
a69d114
Compare
Screen.Recording.2026-02-13.at.2.44.06.PM.mov
Addressed this by restoring the nested
Feedback from UX in the bug bash was this should be the only indicator that's preserved while the agent is thinking, I excluded the other indicators because this wasn't mentioned in the issue |
| marginRight={isNarrow ? 0 : 1} | ||
| flexDirection="row" | ||
| alignItems="center" | ||
| alignItems={isNarrow ? 'flex-start' : 'center'} |
There was a problem hiding this comment.
why did this change to flex-start from center?
There was a problem hiding this comment.
I thought this would help with if the screen size was narrow
jacob314
left a comment
There was a problem hiding this comment.
LGTM! The changes correctly fulfill the requirement to persist the ApprovalModeIndicator during streaming while maintaining the expected layout behavior. By restoring the nested <Box flexGrow={1}> for the LoadingIndicator, you've neatly resolved the previously observed layout shift with the ShortcutsHint. Permitting the ShortcutsHint to remain visible while the agent loads provides a more stable layout and prevents visual flickering, which is a nice improvement. The new test coverage and snapshot updates look solid.

Summary
This PR ensures that a critical UI element the Approval Mode indicator remains visible while the model is responding (streaming). Previously, Approval Mode Indicator was hidden.
Details
Related Issues
Fixes #18758
How to Validate
Screen.Recording.2026-02-12.at.4.13.10.PM.mov
Pre-Merge Checklist