Skip to content

fix(ui): clamped table column widths#26991

Queued
devr0306 wants to merge 3 commits into
mainfrom
clamp-column-width
Queued

fix(ui): clamped table column widths#26991
devr0306 wants to merge 3 commits into
mainfrom
clamp-column-width

Conversation

@devr0306
Copy link
Copy Markdown
Contributor

Summary

Clamped table column widths

Details

Related Issues

Fixes #25665

How to Validate

Render a table with a very small terminal width. The CLI should not crash.

Pre-Merge Checklist

  • Updated relevant documentation and README (if needed)
  • Added/updated tests (if needed)
  • Noted breaking changes (if any)
  • Validated on required platforms/methods:
    • MacOS
      • npm run
      • npx
      • Docker
      • Podman
      • Seatbelt
    • Windows
      • npm run
      • npx
      • Docker
    • Linux
      • npm run
      • npx
      • Docker

@devr0306 devr0306 requested a review from a team as a code owner May 13, 2026 15:59
@devr0306 devr0306 enabled auto-merge May 13, 2026 16:00
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 13, 2026

Size Change: +26 B (0%)

Total Size: 34.1 MB

Filename Size Change
./bundle/chunk-CVJA4NGW.js 0 B -2.79 MB (removed) 🏆
./bundle/chunk-DTYQGBIG.js 0 B -49.2 kB (removed) 🏆
./bundle/chunk-LS2TQJ35.js 0 B -3.8 kB (removed) 🏆
./bundle/chunk-OCY5N34Q.js 0 B -3.43 kB (removed) 🏆
./bundle/chunk-TPN6AQRQ.js 0 B -659 kB (removed) 🏆
./bundle/chunk-UWM6DCB5.js 0 B -14.8 MB (removed) 🏆
./bundle/chunk-YHFK23HJ.js 0 B -12.5 kB (removed) 🏆
./bundle/chunk-ZDASTAYR.js 0 B -19.5 kB (removed) 🏆
./bundle/core-T7OOWSQO.js 0 B -49.3 kB (removed) 🏆
./bundle/devtoolsService-WC4FSMQQ.js 0 B -28 kB (removed) 🏆
./bundle/gemini-3NCAN3KL.js 0 B -587 kB (removed) 🏆
./bundle/interactiveCli-RD2SJ4LZ.js 0 B -1.3 MB (removed) 🏆
./bundle/liteRtServerManager-QOEWEFPI.js 0 B -2.11 kB (removed) 🏆
./bundle/oauth2-provider-K4WBTHNC.js 0 B -9.16 kB (removed) 🏆
./bundle/chunk-5JIT5PFY.js 659 kB +659 kB (new file) 🆕
./bundle/chunk-6AU4QY6M.js 12.5 kB +12.5 kB (new file) 🆕
./bundle/chunk-CAK7E6WM.js 14.8 MB +14.8 MB (new file) 🆕
./bundle/chunk-G6ALIPIV.js 19.5 kB +19.5 kB (new file) 🆕
./bundle/chunk-H7CLMFRY.js 49.2 kB +49.2 kB (new file) 🆕
./bundle/chunk-IPGF2TGH.js 3.43 kB +3.43 kB (new file) 🆕
./bundle/chunk-LSME24EY.js 3.8 kB +3.8 kB (new file) 🆕
./bundle/chunk-ZBQKE56F.js 2.79 MB +2.79 MB (new file) 🆕
./bundle/core-PWW77O66.js 49.3 kB +49.3 kB (new file) 🆕
./bundle/devtoolsService-OCCIQ7IG.js 28 kB +28 kB (new file) 🆕
./bundle/gemini-XR64FQGH.js 587 kB +587 kB (new file) 🆕
./bundle/interactiveCli-H7Q2SCKS.js 1.3 MB +1.3 MB (new file) 🆕
./bundle/liteRtServerManager-WSOVBNP4.js 2.11 kB +2.11 kB (new file) 🆕
./bundle/oauth2-provider-FBEXS2LA.js 9.16 kB +9.16 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size Change
./bundle/bundled/third_party/index.js 8 MB 0 B
./bundle/chunk-34MYV7JD.js 2.45 kB 0 B
./bundle/chunk-5AUYMPVF.js 858 B 0 B
./bundle/chunk-5PS3AYFU.js 1.18 kB 0 B
./bundle/chunk-664ZODQF.js 124 kB 0 B
./bundle/chunk-7BNI4AA2.js 1.98 MB 0 B
./bundle/chunk-DAHVX5MI.js 206 kB 0 B
./bundle/chunk-IUUIT4SU.js 56.5 kB 0 B
./bundle/chunk-RJTRUG2J.js 39.8 kB 0 B
./bundle/cleanup-PEUPB5A6.js 0 B -932 B (removed) 🏆
./bundle/devtools-36NN55EP.js 696 kB 0 B
./bundle/dist-T73EYRDX.js 356 B 0 B
./bundle/events-XB7DADIJ.js 418 B 0 B
./bundle/examples/hooks/scripts/on-start.js 188 B 0 B
./bundle/examples/mcp-server/example.js 1.43 kB 0 B
./bundle/gemini.js 5.1 kB 0 B
./bundle/getMachineId-bsd-TXG52NKR.js 1.55 kB 0 B
./bundle/getMachineId-darwin-7OE4DDZ6.js 1.55 kB 0 B
./bundle/getMachineId-linux-SHIFKOOX.js 1.34 kB 0 B
./bundle/getMachineId-unsupported-5U5DOEYY.js 1.06 kB 0 B
./bundle/getMachineId-win-6KLLGOI4.js 1.72 kB 0 B
./bundle/memoryDiscovery-URNH4AK4.js 980 B 0 B
./bundle/multipart-parser-KPBZEGQU.js 11.7 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/client/main.js 222 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/_client-assets.js 229 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/index.js 13.4 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/types.js 132 B 0 B
./bundle/sandbox-macos-permissive-open.sb 890 B 0 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB 0 B
./bundle/sandbox-macos-strict-open.sb 4.82 kB 0 B
./bundle/sandbox-macos-strict-proxied.sb 5.02 kB 0 B
./bundle/src-QVCVGIUX.js 47 kB 0 B
./bundle/start-TWOLEIBW.js 0 B -652 B (removed) 🏆
./bundle/tree-sitter-7U6MW5PS.js 274 kB 0 B
./bundle/tree-sitter-bash-34ZGLXVX.js 1.84 MB 0 B
./bundle/cleanup-Y7DEVEON.js 932 B +932 B (new file) 🆕
./bundle/start-OPZYSZWK.js 652 B +652 B (new file) 🆕

compressed-size-action

@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 addresses a critical UI rendering bug within the CLI's table display mechanism. By clamping column widths to a minimum of zero, it prevents crashes that previously occurred when the terminal window was too narrow, significantly improving the robustness of the UI under constrained conditions.

Highlights

  • UI Fix: Resolved an issue in the TableRenderer component where extremely small terminal widths could lead to negative column width calculations, causing the application to crash.
  • Test Coverage: Introduced a new test case to specifically validate the TableRenderer's resilience when rendering tables in environments with minimal terminal width, ensuring stability.
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 the 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 counterproductive. 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.

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 adds a test case to verify that the TableRenderer handles extremely small terminal widths without crashing. It also updates the borderParts calculation to prevent negative values when repeating characters. The reviewer provided feedback suggesting the use of the Largest Remainder Method for better layout distribution and requested additional comments to explain complex layout logic.

Comment thread packages/cli/src/ui/utils/TableRenderer.tsx
@gemini-cli gemini-cli Bot added priority/p1 Important and should be addressed in the near term. area/core Issues related to User Interface, OS Support, Core Functionality area/security Issues related to security labels May 13, 2026
devr0306 and others added 2 commits May 13, 2026 12:35
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@devr0306 devr0306 added this pull request to the merge queue May 13, 2026
Any commits made after this event will not be merged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/core Issues related to User Interface, OS Support, Core Functionality area/security Issues related to security priority/p1 Important and should be addressed in the near term.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RangeError: Invalid count value: -1

2 participants