Show the bucket name on stacks without the beta setting - #5235
Open
QuiltSimon wants to merge 8 commits into
Open
Show the bucket name on stacks without the beta setting#5235QuiltSimon wants to merge 8 commits into
QuiltSimon wants to merge 8 commits into
Conversation
Before the shell re-home, NavBar/Controls rendered `s3://<bucket>` on every bucket page for every stack. At head the name lives only in the new header card, which BucketLayout gates behind `settings?.beta` — so on a default stack the Packages and Workflows tabs render just the tab strip, with the bucket identified nowhere on the page. Split the name and its admin settings link out as BucketTitle and render that when beta is off. It deliberately does not call useStats or useTabulatorTables, so the ungated path adds no queries; the stats row and Create-package button stay behind beta. Co-Authored-By: Claude <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #5235 +/- ##
===========================================
- Coverage 55.20% 34.95% -20.26%
===========================================
Files 872 741 -131
Lines 36766 23801 -12965
Branches 6429 6425 -4
===========================================
- Hits 20298 8320 -11978
+ Misses 14724 13737 -987
Partials 1744 1744
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Review found the first pass double-rendered on the tab it did not check. Overview v1 (the non-beta Overview) has always drawn its own h5 bucket name and admin gear in its hero, so ungating the header card above the tabs put both on screen twice. The v2 Overview already made this split when the header moved above the tabs; v1 never did. The hero now carries the description and stats only, and the out-of-stack fallback drops its name too. Header takes `withStats` instead of the layout choosing between two components, which also makes the gate itself testable — the line that regressed had no harness. A long name ellipsizes rather than overflowing the card, and the admin link is covered both ways now that the redux mock is controllable. Co-Authored-By: Claude <noreply@anthropic.com>
oxfmt runs first in lint:app, so the multi-line description conditional (a leftover shape from the deleted M.Box wrapper) would have failed CI before oxlint or the tests ran. The stats row's top margin separated it from the name above it. With the name gone, a bucket with no description had nothing there, leaving a strip of hero background above the stats — apply the margin only when a description precedes them. Co-Authored-By: Claude <noreply@anthropic.com>
minWidth: 0 sat on .title, not on the h5, so the flex item kept min-width: auto and could not shrink past min-content — nothing for overflow: hidden to clip, and the changelog claim did not hold. .top's position: relative was the containing block for the absolutely positioned settings link that moved above the tabs; no positioned descendant remains. Co-Authored-By: Claude <noreply@anthropic.com>
…ated # Conflicts: # catalog/CHANGELOG.md
The BucketTitle block's afterEach reset cleanup and isAdmin but not the two mocks its final test calls mockClear on, so a describe appended below would read undefined from useTabulatorTables. Harmless only because this block is currently last in the file. Co-Authored-By: Claude <noreply@anthropic.com>
…ated # Conflicts: # catalog/CHANGELOG.md
nl0
approved these changes
Aug 31, 2026
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.
Found reviewing the 26.8.0 candidate.
Before the shell re-home (#5189),
NavBar/Controls.tsxrendereds3://<bucket>unconditionally on every bucket page, for every stack. At head the name lives only in the new header card, andBucketLayoutgates that whole card behindsettings?.beta. With beta off — the default — a bucket's Packages and Workflows tabs render just the tab strip:Overview / Files / Packages / Workflows, with the bucket identified nowhere on the page. Overview happens to name it in its own content, which is probably why this survived review.The name is wayfinding, not a beta feature.
The fix
Headerbundles the name withuseStatsanduseTabulatorTables, so ungating it wholesale would add two data fetches to every bucket page on every stack. Instead the name and its adjacent admin-settings link are split out as an exportedBucketTitle, andBucketLayoutrendersHeaderwhen beta is on,BucketTitlewhen it is off. The stats row, the tables stat and the Create-package button stay behind beta exactly as before.BucketTitlecalls neither stats hook, so the ungated path costs no queries — pinned by a test asserting both mocks go uncalled.Tests
TZ=UTC npx vitest run app/containers/Bucket/Header.spec.tsx— 12 passed (9 pre-existing untouched, 3 new)TZ=UTC npx vitest run app/containers/Bucket— 347 passed across 48 filesnpx tsc --noEmit -p .— cleanHonest limit on coverage: the new tests pin
BucketTitle's own behavior (renders the name, renders no stats, issues no queries), andHeaderstill renders the name. Neither exercisesBucketLayout'sbetabranch itself — that is the line that actually regressed, and it has no test harness here. It is verifiable by reading the diff inBucket.tsx, and worth a reviewer's eye rather than trusting the green suite.Notes
Overview/Header.tsxandOverview/v2/Header.tsxfiles are unrelated components with the same name; untouched.catalog/CHANGELOG.mdentry.🤖 Generated with Claude Code
Greptile Summary
This PR restores the bucket name and adjacent administrator settings link on bucket pages when beta features are disabled, while keeping statistics, tables, create-package controls, and their queries beta-gated.
BucketTitlecomponent.Confidence Score: 5/5
The PR appears safe to merge with no concrete correctness, security, or compatibility failures identified.
The extracted title preserves the existing administrator gate and route target, the layout supplies its required providers, and the non-beta branch avoids both statistics query paths as intended.
Important Files Changed
Reviews (1): Last reviewed commit: "Show the bucket name on stacks without t..." | Re-trigger Greptile