Skip to content

fix(web): narrow composer notices use the request card's header and footer - #34362

Closed
shivamhwp wants to merge 6 commits into
pingdotgg:maria/redesign/2-composer-timelinefrom
shivamhwp:t3/redesign-notice-actions-align
Closed

shivamhwp wants to merge 6 commits into
pingdotgg:maria/redesign/2-composer-timelinefrom
shivamhwp:t3/redesign-notice-actions-align

Conversation

@shivamhwp

@shivamhwp shivamhwp commented Nov 11, 2026 •

Copy link
Copy Markdown
Collaborator

Note

🤖 Claude Fable 5.2 on behalf of Shivam

On a phone-width composer, a notice with buttons (for example "Codex signed out" with Open terminal and Refresh) wrapped its buttons to a second line with the dismiss button after them. The dismiss button sat away from the title it closes, and a long title dropped below its icon with two identical ⓘ buttons.

Below 480px of card width a notice now follows ComposerRequestCard, the approval card's layout:

  • a header row: the icon, the title (wrapping instead of truncating), the "+N" count of stacked notices and the dismiss button, like the card header's counter and dismiss;
  • a footer row: the notice's buttons, right-aligned with the card's gap-2, ending under the dismiss button.

The description and its ⓘ stay hidden at that width, as they were. The icon, the title's first line and the dismiss button share one centre line.

At 480px and wider, the one-line status row is unchanged. The desktop screenshot below is pixel-identical at base and head.

Stacks on maria/redesign/2-composer-timeline.

The dev server with an empty T3 home, in headless Chromium at a phone size. Before (layer 2 at 5604040):
Before: the dismiss button sits after Open terminal and Refresh on the second line

After (eba67df):
After: title and dismiss in a header, Open terminal and Refresh right-aligned underneath

Every notice shape, from the real ComposerBannerStack rendered alone in headless Chromium at a 390px viewport: two buttons with dismiss, dismiss only, one button, no actions, a long title, and a stack with two more notices. Before:
Before: each notice shape at a phone viewport

After:
After: each notice shape at a phone viewport

Measured centres of the icon, the title's first glyph and the dismiss icon are within 1px of each other in every shape, at 340, 366, 520 and 728px and at the phone viewport.

vp run check:changed at eba67df: format, lint, knip, graphql, typecheck (41 packages) and the React compiler check passed. In the full test run, two SecretSourceInput.browser.test.tsx cases timed out under load. They passed when rerun alone, as did ComposerBannerStack.browser.test.tsx. No test added: this is a layout fix, and the captures above are its proof.

Not shown: a physical phone, and right-to-left layouts (the change uses logical start and end properties only).

Claude Fable 5.2, Claude Code via T3 Code.

🤖 Generated with Claude Code

@github-actions github-actions Bot added vouch:trusted Author is trusted by repo permissions or the VOUCHED list. size:S 10-29 changed lines (additions + deletions). labels Nov 11, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Nov 11, 2026
@macroscopeapp

macroscopeapp Bot commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at eba67df

Macroscope's review found this PR approvable — Composer notices place action buttons below wrapping titles in narrow layouts and include the title in description popovers. The changes are presentation-only, with existing action and dismissal behavior unchanged.

You can add or adjust custom eligibility rules. Learn more.

@maria-rcks
maria-rcks force-pushed the maria/redesign/2-composer-timeline branch from cb2ce53 to df3c346 Compare November 11, 2026 20:02
@shivamhwp
shivamhwp force-pushed the t3/redesign-notice-actions-align branch from bb68b1c to e96c85f Compare November 11, 2026 20:06
@maria-rcks

maria-rcks commented Nov 11, 2026 •

Copy link
Copy Markdown
Collaborator

Note

Written by gpt-6.1-sol on behalf of Maria

Verified in a real dev environment

verified exact head e96c85f5f5ac69bd2b8d3229e353a02391d690e8 on this linux vm using the real dev web client, repository Playwright, and /usr/bin/google-chrome. no source changes were needed. the head has 32 successful CI checks, with none pending or failing.

started github/main (bba1c13d87) first in a separate worktree after vp i. created a project pointing at its real git checkout and completed a Codex gpt-6.1-sol turn through the composer. changed CODEX_HOME through provider settings to a fresh empty directory to produce a real signed-out notice. main uses the older alert and places Refresh at the trailing edge:

main: real signed-out Codex notice at 390px

because this PR stacks on the composer redesign, also ran its unchanged parent df3c346b2c to isolate this diff. reused the same app-created thread and provider state. at a 390px viewport, its title starts at x=46 and its wrapped actions start at x=137:

before: redesign parent wraps actions at the right edge

stopped each server before starting the next. installed the exact PR head and ran it with an explicit isolated home. with matching data and viewport, both the title and wrapped actions now start at x=46; dismiss remains at the trailing edge:

after: exact PR head aligns actions under the title

also exercised the real notice controls: Refresh sent the provider-refresh WebSocket request and completed a fresh Codex probe; Open terminal opened a working shell; dismiss removed the notice. /clear added a second notice, +1 opened it, and Keep the current session removed it. inspected the one-line desktop layout at 1440px and the narrow layout in both light and dark themes.

real notice interactions: refresh, terminal, overflow, undo, dismiss

short runtime transcript:

client websocket: refreshProviders request observed
refresh complete: real Codex probe still reports signed out
terminal: printf 'notice-terminal-ok\n' -> notice-terminal-ok
/clear -> +1 -> fresh-session notice -> Keep the current session -> removed
Dismiss Codex provider error -> notice removed

restored the configured Codex home and completed fresh gpt-6.1-sol turns through the PR's composer. the requested response streamed to the client and the turn completed:

exact PR head: completed real Codex gpt-6.1-sol turn

inspected the captures and checked playback and seeking of the uploaded recording. no mocks or demo data were used.

Not verified

native iOS/Android clients, the Electron shell, macOS/Windows, right-to-left layouts, and remote/relay/tunnel connections were not exercised on this linux vm. the narrow capture is the real web client at phone width. providers other than Codex were not exercised. no new automated checks were run for this verification-only pass.

@maria-rcks
maria-rcks force-pushed the maria/redesign/2-composer-timeline branch from df3c346 to 9fa8150 Compare November 12, 2026 01:52
@macroscopeapp
macroscopeapp Bot dismissed their stale review November 12, 2026 02:04

Dismissing prior approval to re-evaluate 93ae428

@github-actions github-actions Bot added size:XXL 1,000+ changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels Nov 12, 2026
@shivamhwp
shivamhwp force-pushed the t3/redesign-notice-actions-align branch from 93ae428 to 89d31d6 Compare November 12, 2026 02:07
@github-actions github-actions Bot added size:M 30-99 changed lines (additions + deletions). and removed size:XXL 1,000+ changed lines (additions + deletions). labels Nov 12, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Nov 12, 2026
@shivamhwp
shivamhwp force-pushed the t3/redesign-notice-actions-align branch from 89d31d6 to e6eccf3 Compare November 12, 2026 02:43
@macroscopeapp
macroscopeapp Bot dismissed their stale review November 12, 2026 02:43

Dismissing prior approval to re-evaluate e6eccf3

@shivamhwp shivamhwp changed the title fix(web): composer notice buttons line up under the title when they wrap fix(web): narrow composer notices stack their title, description and buttons Nov 12, 2026
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Nov 12, 2026
@macroscopeapp
macroscopeapp Bot dismissed their stale review November 12, 2026 03:23

Dismissing prior approval to re-evaluate a0eab15

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Nov 12, 2026
@shivamhwp shivamhwp changed the title fix(web): narrow composer notices stack their title, description and buttons fix(web): narrow composer notices put their buttons under the title Nov 12, 2026
shivamhwp and others added 4 commits November 12, 2026 03:27
On a narrow composer a notice's buttons wrap to a second line. That line
was pushed to the right edge, so the buttons sat under nothing. They now
start under the title, and the dismiss button and the "+N" count stay at
the row's end. A title too long for the first line also stays beside its
icon instead of dropping below it.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
The X and the +N count now sit beside the title, and a notice with a
description shows one details button that carries the title too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e title

Below 480px a notice shows its title and dismiss on the first line, then
its description in full and its buttons, all from the title's edge. The
details button is gone there because nothing is cut off.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Below 480px the description is hidden again, and a body-size notice's
icon is as large as its dismiss button.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@shivamhwp
shivamhwp force-pushed the t3/redesign-notice-actions-align branch from a0eab15 to 0435fd2 Compare November 12, 2026 03:28
Below 480px a notice is a header row (icon, title, +N and dismiss) over a
right-aligned footer of its buttons, like ComposerRequestCard. Wider
notices keep the one-line status row and its 12px icon.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@macroscopeapp
macroscopeapp Bot dismissed their stale review November 12, 2026 03:49

Dismissing prior approval to re-evaluate 877fe8f

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Nov 12, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@macroscopeapp
macroscopeapp Bot dismissed their stale review November 12, 2026 04:00

Dismissing prior approval to re-evaluate eba67df

@shivamhwp shivamhwp changed the title fix(web): narrow composer notices put their buttons under the title fix(web): narrow composer notices use the request card's header and footer Nov 12, 2026
@shivamhwp shivamhwp closed this Nov 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 30-99 changed lines (additions + deletions). vouch:trusted Author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants