You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Icon-only below sm, labelled from sm up — exactly what was asked for. It was applied to the two-button toggle and not to the four-button row, which is the one that actually overflows.
title and aria-label are not optional here. Today the button's accessible name comes from its visible text; hiding the text without adding them leaves four unlabelled icon buttons — an a11y regression of exactly the kind #389 was filed to fix. The sibling at :807 sets both, which is why it is the right thing to copy rather than re-derive.
Horizontal scroll on the tab row. Works, but hides tabs behind a scroll gesture with no affordance; four icons fit trivially at 320px.
Shorten the words ("Term", "PRs"). Rejected — truncated labels read as jargon and still cost more width than an icon, and it would diverge from the icon-only convention the instance tab bar already uses on mobile.
Acceptance criteria
At 320px and 390px the four tabs fit on one line with no horizontal overflow and no wrap.
Each tab has an accessible name at every width (aria-label), and a tooltip on desktop.
At ≥sm the row is unchanged — icon + label as today.
The active-tab styling still reads clearly when only the icon is visible.
Not measured. This is filed from the code, which is unambiguous (no responsive class at all, versus a sibling that has one). I did not reproduce it in a browser because the single-repo Coder view needs specific instance state; the acceptance criteria above are written so the implementer measures it.
Related: #426 (the other mobile-overflow defect in the chat header, with measurements), #389 (tap targets and accessible names on this surface), #370 (mobile layout on this same tab).
The repo tab row keeps its labels on mobile — the fix pattern already exists 80 lines above it
Reported: Terminal · Issues · Pulls · Actions overflow the screen on mobile.
Where it is
agents/coder/web/src/CodingTab.tsx:887-896— the single-repo tab helper:No responsive class anywhere: the label renders at every width, and four of these sit in one
inline-flexrow (:899-900).The same file already solves this correctly
CodingTab.tsx:807-808, the Co-pilot / Terminal toggle:Icon-only below
sm, labelled fromsmup — exactly what was asked for. It was applied to the two-button toggle and not to the four-button row, which is the one that actually overflows.The fix
Bring
tab()in line with its sibling:titleandaria-labelare not optional here. Today the button's accessible name comes from its visible text; hiding the text without adding them leaves four unlabelled icon buttons — an a11y regression of exactly the kind #389 was filed to fix. The sibling at:807sets both, which is why it is the right thing to copy rather than re-derive.Alternatives considered and rejected
flex-wrapat:899, so it can wrap — and a wrapped tab bar pushes the terminal pane down on the screen where vertical space is scarcest ([bug] Terminal output is invisible on mobile — TmuxTab stacks eight blocks in one column and the output pane is the only one that yields #370 was filed for precisely that class of problem on this tab).Acceptance criteria
aria-label), and a tooltip on desktop.smthe row is unchanged — icon + label as today.Regression risk
w-8fixes the mobile width; if any tab's icon needs more room the row silently clips. Foursize={13}icons inw-8buttons is ~128px at 320px, so there is headroom, but the check belongs in a WebKit measurement rather than review — and note the e2e mobile guard runs Chromium (see [bug][mobile] Copy and Delete sit on top of the message timestamp — 42px of 110px covered in WebKit, and removing the year only recovers 30px #426).Not measured. This is filed from the code, which is unambiguous (no responsive class at all, versus a sibling that has one). I did not reproduce it in a browser because the single-repo Coder view needs specific instance state; the acceptance criteria above are written so the implementer measures it.
Related: #426 (the other mobile-overflow defect in the chat header, with measurements), #389 (tap targets and accessible names on this surface), #370 (mobile layout on this same tab).