Repository navigation
Agent chat: a video's Open in tab and Expand each take their own click - #24472
Conversation
Lawrence, relayed by Leo (2026-10-22): "trying to click between the two of them". A browser-lane test measures the inline video's controls in real layout (Chromium and WebKit): every hit area at least 28 x 28 px, 8 px apart, a click on each lands on it, a click just off one lands on nothing that acts, and while it plays our buttons stay clear of the player's own rows. It fails on the base: Open in tab and Expand are 24 px, 4 px apart, a near miss plays the video, and while it plays they sit in WebKit's top corner row. The gallery gets the hovered and playing states for the before/after. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Lawrence, relayed by Leo (2026-10-22): "trying to click between the two of them". Each button is now a 28 px square click with its 24 px glass drawn inside, 8 px from the other, and their row keeps a 4 px margin that takes a near miss and does nothing (before, a click just off either played the video with sound). While the video plays they sit below the player's top row of controls (WebKit's Full Screen, Picture in Picture and Mute corner bars) instead of over it. What each button does is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Probably yours: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 7b17b7e to compare; do not merge until green; see lane-rules Gallery before/after for
States
Pick other states with a |
|
Owned by nx-chat on big-red · took over from session 01a1602e |
|
Found 9 test failures on Blacksmith runners: Failures
|
|
Bead |
|
|
|
Orphaned: no activity for 69 h, and no lane holds a lease on it. Adopted by the orphan sweep: merged |
|
Review (codex gpt-6-astra xhigh, next-review): BLOCK at 11eaf48
|
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
A video’s Open in tab and Expand controls now have separate 28 px click targets, an 8 px gap, and a margin that absorbs near misses instead of playing the poster. On videos shorter than 126 px, both actions sit in a reserved row above the player. Normal and tall videos keep the existing corner placement, clear of native playback controls.
Leo (2026-10-22, relayed by claude-sr2), with Lawrence’s screenshots: “the thing i had in the henlo chat was just pasting some images lawrence said”. Lawrence’s caption: “trying to click between the two of them”.
The prior reviewed head put playing actions at y=45–73 px, which overlaps a 100 px video’s native bottom bar. The short-video row is reserved before playback, so starting playback does not move the video. One ResizeObserver watches only this video and disconnects on unmount or media-kind change. No animation loop, timer, or transcript scan was added.
Design reference: Claude’s
apps/claude/live/image-viewer-masonry-layout.pnginmanaflow-ai/cmux-design-references, retaining quiet media surfaces and small hover controls. Existing glass and icons are unchanged.Before / after
Actual gallery captures from
agent-pane.inline-media, Chromium, 420 px, dark and light. Before is 11eaf48; after is d065c37. Normal and poster states are included to show they keep their existing layout.Verification
Focused command:
CMUX_BROWSER_TESTS=1 bun test test/inline-video-controls-browser.test.ts.Observed / Not run
The browser cases cover near misses, 100/180/280 px videos, resizing, actual separate Open in tab/Expand effects, and identical frame bounds before/after Play. Native app playback was not run; the runtime evidence is Chromium and WebKit browser layout.
Full independent Codex gpt-6-astra xhigh review: SHIP at d065c37.
Current head
ca6e9513c8599f8fbbe98664563468700e0294e9changes only the short-player padding from literal40pxtocalc(var(--ds-space-6) + var(--ds-space-2)). The shared desktop tokens are32pxand8px, so computed geometry stays exactly40px. The matching design-token gate, scoped format/lint, and prepush gate pass at this head. Browser tests and captures above remain accurately bound tod065c37; no duplicate browser run was needed for the equivalent spacing expression. Independent Astra xhigh delta review and primary inspection confirm the same computed layout.Review (independent Codex gpt-6-astra, xhigh): SHIP at ca6e951.
Changelog
Agent session: agent session