Skip to content

Revert "fix(ui): improve narration suppression and reduce flicker (#2…#24857

Merged
gundermanc merged 1 commit intomainfrom
gundermanc/revert2
Apr 7, 2026
Merged

Revert "fix(ui): improve narration suppression and reduce flicker (#2…#24857
gundermanc merged 1 commit intomainfrom
gundermanc/revert2

Conversation

@gundermanc
Copy link
Copy Markdown
Member

Reverts #24635 which appears to have caused some issues with disappearing messages even when the narration flag is disabled.

@gundermanc gundermanc requested a review from a team as a code owner April 7, 2026 22:13
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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 reverts a previous change that introduced complex narration suppression logic. The original implementation was intended to reduce UI flicker and improve narration, but it inadvertently caused valid messages to be hidden even when the narration feature was disabled. This revert restores the previous behavior to ensure message visibility.

Highlights

  • Revert Narration Suppression Logic: Reverted the recent changes to narration suppression logic in MainContent.tsx to resolve issues where messages were disappearing unexpectedly.
  • Test Cleanup: Removed the associated unit tests for the narration suppression feature that was reverted.
Using Gemini Code Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 7, 2026

Size Change: -529 B (0%)

Total Size: 34 MB

Filename Size Change
./bundle/chunk-4E6OLHR7.js 0 B -3.15 MB (removed) 🏆
./bundle/chunk-6Z3XNGZZ.js 0 B -14.8 MB (removed) 🏆
./bundle/core-6HXLU32R.js 0 B -45.3 kB (removed) 🏆
./bundle/devtoolsService-3O6265VO.js 0 B -28.4 kB (removed) 🏆
./bundle/interactiveCli-YQN4L7JC.js 0 B -1.64 MB (removed) 🏆
./bundle/oauth2-provider-2M5XLXE3.js 0 B -9.16 kB (removed) 🏆
./bundle/chunk-K4NJTDG5.js 3.15 MB +3.15 MB (new file) 🆕
./bundle/chunk-LIJ7F7NC.js 14.8 MB +14.8 MB (new file) 🆕
./bundle/core-VNENTYKG.js 45.3 kB +45.3 kB (new file) 🆕
./bundle/devtoolsService-INEF3BSE.js 28.4 kB +28.4 kB (new file) 🆕
./bundle/interactiveCli-VS3E5YOU.js 1.64 MB +1.64 MB (new file) 🆕
./bundle/oauth2-provider-CUKBQIV5.js 9.16 kB +9.16 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size
./bundle/bundled/third_party/index.js 8 MB
./bundle/chunk-34MYV7JD.js 2.45 kB
./bundle/chunk-5AUYMPVF.js 858 B
./bundle/chunk-5PS3AYFU.js 1.18 kB
./bundle/chunk-664ZODQF.js 124 kB
./bundle/chunk-DAHVX5MI.js 206 kB
./bundle/chunk-IUUIT4SU.js 56.5 kB
./bundle/chunk-RJTRUG2J.js 39.8 kB
./bundle/chunk-Z34XA6FT.js 1.96 MB
./bundle/devtools-36NN55EP.js 696 kB
./bundle/dist-T73EYRDX.js 356 B
./bundle/events-XB7DADIJ.js 418 B
./bundle/gemini.js 553 kB
./bundle/getMachineId-bsd-TXG52NKR.js 1.55 kB
./bundle/getMachineId-darwin-7OE4DDZ6.js 1.55 kB
./bundle/getMachineId-linux-SHIFKOOX.js 1.34 kB
./bundle/getMachineId-unsupported-5U5DOEYY.js 1.06 kB
./bundle/getMachineId-win-6KLLGOI4.js 1.72 kB
./bundle/memoryDiscovery-PYBLKP7S.js 980 B
./bundle/multipart-parser-KPBZEGQU.js 11.7 kB
./bundle/node_modules/@google/gemini-cli-devtools/dist/client/main.js 222 kB
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/_client-assets.js 229 kB
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/index.js 13.4 kB
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/types.js 132 B
./bundle/sandbox-macos-permissive-open.sb 890 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB
./bundle/sandbox-macos-strict-open.sb 4.82 kB
./bundle/sandbox-macos-strict-proxied.sb 5.02 kB
./bundle/src-QVCVGIUX.js 47 kB
./bundle/tree-sitter-7U6MW5PS.js 274 kB
./bundle/tree-sitter-bash-34ZGLXVX.js 1.84 MB

compressed-size-action

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request simplifies the narration suppression logic in the MainContent component by reducing the number of rules and state variables used during history iteration. However, the new implementation introduces a bug where the toolGroupInTurn flag is not 'sticky' within a turn, potentially failing to suppress Gemini messages if multiple tool groups exist. Additionally, the PR removes the entire 'Narration Suppression' test suite, leaving the remaining logic without test coverage. It is recommended to fix the flag logic and retain/adapt the relevant tests.

I am having trouble creating individual review comments. Click here to see my feedback.

packages/cli/src/ui/components/MainContent.tsx (100)

high

The logic for toolGroupInTurn is not sticky within a turn. Since the loop iterates backwards through history, if a turn contains multiple tool groups and a non-topic tool group appears after a topic tool group (chronologically), the toolGroupInTurn flag will be reset to false. This prevents preceding Gemini messages from being suppressed as intended. Making it sticky ensures consistent behavior. Additionally, please include a detailed comment explaining this logic to prevent incorrect refactoring, as it affects conditional rendering.

// Ensure toolGroupInTurn is sticky to maintain consistent narration suppression logic
toolGroupInTurn = toolGroupInTurn || item.tools.some((t) => isTopicTool(t.name));
References
  1. For complex layout calculations that depend on component rendering logic, add detailed comments explaining the logic to prevent incorrect refactoring.

packages/cli/src/ui/components/MainContent.test.tsx (735-885)

high

This PR deletes the entire "Narration Suppression" test suite. While some of the logic being reverted is removed from MainContent.tsx, the core logic for suppressing narration before topic tools is still present in the restored code. Deleting these tests entirely leaves the remaining feature without coverage. It is recommended to retain and adapt the tests that verify suppression. When adapting tests, ensure that if renderWithProviders is used, the unmount function is called at the end of the test.

References
  1. When using renderWithProviders in tests, the returned unmount function must be called at the end of the test to ensure proper cleanup and prevent resource leaks.

Copy link
Copy Markdown
Contributor

@jacob314 jacob314 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@gundermanc gundermanc enabled auto-merge April 7, 2026 22:18
@gemini-cli gemini-cli bot added the status/need-issue Pull requests that need to have an associated issue. label Apr 7, 2026
@gundermanc gundermanc added this pull request to the merge queue Apr 7, 2026
Merged via the queue into main with commit f96d5f9 Apr 7, 2026
30 checks passed
@gundermanc gundermanc deleted the gundermanc/revert2 branch April 7, 2026 23:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status/need-issue Pull requests that need to have an associated issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants