Repository navigation
fix(studio): a menu row's highlight is rounder than its panel - #7395
Conversation
There was a problem hiding this comment.
Requesting changes at 6aa7a03c. There is one blocker, and it is in the PR body, not the code.
Blocker: this is a fix PR (fix(studio): …), but the body has no fails without the fix: line naming the test. The prose under "What I measured" describes the test, but the review gate needs that exact line. Please add, for example:
fails without the fix: packages/studio/src/components/ui/Menu.test.tsx › "open motion" › "rounds a row's highlight more than the panel that holds it"
What I verified, so a re-review can be quick once the line is added:
Menu.test.tsxpasses at this head: 16/16.- With
itemBaseput back torounded-sm, exactly that test fails: 1 failed, 15 passed. So the test does guard the change. - The diff is one class on the shared
itemBase, so everyMenuItemand the radio items built on it change together. Padding, gap and height classes are unchanged.
Non-blocking notes:
calc(var(--radius-lg)+6px)is 14px by default. A row ispy-1.5plus atext-step-11line, about 28px tall, so the highlight is effectively a pill. At--radius-lg: 12pxthe 18px value is capped at half the row height, so it stays a pill. That reads as the intended design choice, but the radius is no longer concentric with the panel (panel radius minusp-1would be 4px). Worth confirming the pill look in the before/after captures.- The body says
visual evidence: pending.
There was a problem hiding this comment.
Approving at 6aa7a03c.
The head is the same one I reviewed, and the body now has the fails without the fix: line. It names Menu.test.tsx › "open motion" › "rounds a row's highlight more than the panel that holds it". I had already checked that test both ways at this head:
- It passes with this change: 16/16.
- It is the only failure with
itemBaseput back torounded-sm: 1 failed, 15 passed.
That line was the only blocker. My earlier non-blocking notes on the pill radius and the pending visual evidence still stand.
Edit accuracy: accurate 267 (base branch 267), smooth 100 of thoseThe gate passes. Quarantined, measured but not gated (8)
Unstable (2)
|
Port the adopted upstream fixes from f5bde95 to the current upstream tip: heygen-com#7375 multipart cloud upload, heygen-com#7382 minParallelChunks, heygen-com#7349 HLG header SEI, heygen-com#7369 skip unmounted compositions in lint/check, heygen-com#7381 filesystem-path media in the cloud archive, heygen-com#7383 Safari cut-point pre-roll revert, heygen-com#7373 clock steering between audio time updates, heygen-com#7384 injector test isolation, heygen-com#7378 preview seek retention, heygen-com#7390 virtual timer schedule per worker, heygen-com#7394 CDN script failure naming, heygen-com#7395 menu row radius, heygen-com#7119 decode timeout caller test, heygen-com#7397 authored tween order, heygen-com#7402 capture page clip loading, heygen-com#7412 muted video audio track at cuts, heygen-com#6150 template root variable test, heygen-com#7442 held tail seek once. Deliberate local differences: heygen-com#7067's audio-start hold is not carried into clock.ts, mountedSources comes from heygen-com#6827 as a helper only, cloud/_gen/types.ts omits the image-request types the fork does not generate, and the lint symlink test skips through symlinkOrSkip where the account cannot create links. Co-Authored-By: Claude Sonnet <noreply@anthropic.com>
A menu row's hover and keyboard highlight now has a larger corner radius than the panel around it, so the highlight reads as sitting inside the menu instead of cutting its corners.
The row radius was
rounded-sm(4px) inside arounded-lgpanel. It is now the panel radius plus 6px (calc(var(--radius-lg) + 6px)): 14px in the default theme, 18px where a host sets--radius-lgto 12px. It is set once on the shared row class inMenu.tsx, so everyMenuItem(and the radio items built on it) changes together. Padding, height and gap are untouched, so no row moves.What I measured
Menu.test.tsx,menuStyle.test.tsandsrc/styles: 8 files, 68 tests pass on miga.rounded-smclass: run both ways on miga.fails without the fix: packages/studio/src/components/ui/Menu.test.tsx > "open motion" > "rounds a row's highlight more than the panel that holds it" (itemBase put back to rounded-sm: 1 failed)
What I did NOT exercise
Menuin a harness, three shapes (plain rows, icon and shortcut rows, a separator with a danger row), not Desktop's menus.Size
A lone one-class fix at the single owner of the row shape; nothing else carries it.
Before
After