fix(tui): give every table one shared column scale - #2217
Draft
notgitika wants to merge 1 commit into
Draft
Conversation
Tables sized their own columns, so `status` was anywhere between 12 and 22 cells wide depending on the screen, and the flexible column absorbed all leftover terminal width — on a wide terminal that left a canyon of blank space between an identifier and its own metadata. - cap the flexible column at 40 cells; the leftover is right margin - share one width per kind of value (timestamp, status, version, count) - right-align numerics, center the narrow live/target flags, leave text and timestamps on the left edge - drop the Runtime `ID suffix` column: the control plane derives a Runtime's ID from its name, so the ID column already carries both # Conflicts: # src/components/MemoryPicker.tsx # src/components/PaginatedTablePicker.test.tsx # src/components/RuntimePicker.tsx # src/handlers/runtime/runtime.screen.test.tsx
notgitika
marked this pull request as draft
September 4, 2026 05:20
Contributor
|
Claude Security Review: no high-confidence findings. (run) |
Contributor
There was a problem hiding this comment.
AgentCore Harness Review
Verdict: Looks good
This is a nicely scoped UI refactor:
- The new
columnPresets.ts(STATUS_WIDTH, TIMESTAMP_WIDTH, VERSION_WIDTH, COUNT_WIDTH, NUMERIC_ALIGN, FLAG_ALIGN) is applied consistently across every picker, and the previously driftingstatuswidths (12–22) are unified. FLEX_MAX_WIDTH = 40and the per-columnmaxWidthoverride are threaded correctly throughcomputeColumnWidths, andDataTabletruncates viacli-truncate, so the cap won't cause overflow. The updatedcolumnWidths.test.tscovers the new ceiling and the leftover-as-right-margin behavior, and thePaginatedTablePicker.test.tsxchange to allowtotalWidth <= terminalWidthcorrectly reflects the new invariant.- Collapsing runtime
name+id suffixinto a singleidcolumn is reasonable given thatagentRuntimeIdembeds the name (orders-Ab12Cd34Ef); the/-filter still matches by name substring, and screen tests were updated in lockstep. Test fixtures now use realistic ID shapes. - No new user-facing features/telemetry surface here, and tests continue to render real components with a
TestCoreClientrather than adding mocks.
Nothing blocking — LGTM.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## refactor #2217 +/- ##
=========================================
Coverage 97.04% 97.05%
=========================================
Files 544 545 +1
Lines 37536 37562 +26
=========================================
+ Hits 36428 36454 +26
Misses 1108 1108 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Gives every TUI table one shared column scale.
columnPresets.tslive/targetflagsid suffixcolumn; the ID already contains the name