Skip to content

🐛 fix(ui): shrink table columns to fit and pin the group Update All button (#467)#468

Merged
scttbnsn merged 1 commit into
mainfrom
fix/467-update-all-overflow
Jul 2, 2026
Merged

🐛 fix(ui): shrink table columns to fit and pin the group Update All button (#467)#468
scttbnsn merged 1 commit into
mainfrom
fix/467-update-all-overflow

Conversation

@scttbnsn

@scttbnsn scttbnsn commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Fixes #467 (v1.5.1-rc.4 regression, GA-blocking).

Root cause

The rc.4 v6→v7 preferences migration force-adds the new Version column (~220px) to every existing user's containers column set. The responsive auto-hide budget sums column minimum widths, but the renderer laid columns out at their preferred widths and never shrank them. In the band between those two sums (~1324–1544px of content width for the default column set) the table overflows horizontally, and the group-header Update All button — a plain flex child of a full-row <td colspan>, unlike the sticky right-0 per-row Actions cells — scrolls out of the visible area. Badge and row action icons stay visible, the button silently disappears. Root cause was established by a 5-agent triage workflow and upheld by two independent adversarial verifiers against the rc.3/rc.4 sources.

Fix

  • DataTable.resolveColumnWidths() now shrinks columns proportionally toward (never below) minSize when base widths overflow the available width (water-filling with per-pass clamping). Rendered widths now agree with the auto-hide budget's minSize-based "fits" decision, eliminating the divergence band. Expansion behavior for extra > 0 is unchanged and pinned by a hand-verified test.
  • The group-header Update All button is pinned to the visible end edge (sticky end-0, logical props for RTL) so it stays reachable even when a table legitimately overflows between auto-hide steps.
  • CHANGELOG: [1.5.1-rc.5] section added.

Testing

  • New regression spec reproduces the exact rc.4 post-migration column set in the overflow band (available=1300 between minSize-sum 1136 and size-sum 1484) and asserts rendered widths fit with every column ≥ its minSize.
  • Floor spec: below the minSize-sum, columns render at exactly minSize and residual overflow is left to auto-hide.
  • Expansion-unchanged spec with exact arithmetic; sticky-wrapper spec on the group header.
  • Full gate: 3760 ui tests, 100% coverage on all four metrics (app suite also green in pre-push), typecheck, vite build, biome, qlty all clean.

…utton (#467)

The rc.4 v6→v7 preferences migration force-adds the new Version column
(~220px) to every existing user's containers column set. The responsive
auto-hide budget sums column *minimum* widths while the renderer laid
columns out at their *preferred* widths and never shrank them, so in the
band between those two sums the table overflowed horizontally and the
group-header Update All button — a plain flex child of a full-row cell,
unlike the sticky per-row Actions column — scrolled out of view.

- 🐛 DataTable resolveColumnWidths() now shrinks columns proportionally
  toward (never below) minSize when the base widths overflow, so
  rendered widths agree with the auto-hide budget's fits decision
- 🐛 the group-header Update All button is pinned to the visible end
  edge (sticky, logical props) so it stays reachable even when a table
  legitimately overflows between auto-hide steps
- ✅ regression specs reproduce the exact rc.4 width band and pin the
  expansion path unchanged
@vercel

vercel Bot commented Jul 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
drydock-website Ready Ready Preview, Comment Jul 2, 2026 2:30pm
drydockdemo-website Ready Ready Preview, Comment Jul 2, 2026 2:30pm

@biggest-littlest biggest-littlest left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Shrink-to-minSize water-filling is the right class fix — render now agrees with the auto-hide budget, and the sticky pin covers the residual overflow band. Regression spec reproduces the reported width band exactly. LGTM.

@ALARGECOMPANY ALARGECOMPANY left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Verified the expansion path is pinned unchanged and coverage holds at 100%. CHANGELOG entry reads well. Approving.

@scttbnsn scttbnsn merged commit 5a3a2f4 into main Jul 2, 2026
23 checks passed
@scttbnsn scttbnsn deleted the fix/467-update-all-overflow branch July 2, 2026 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update All buttons in Container>Stack View no longer rendering

3 participants