Problem
On mobile, /console/profile can appear horizontally scrollable. This is user-visible on the Profile page and should be treated as a mobile layout regression.
Investigation notes
- Existing regression guard includes
/console/profile, but only at 375px: e2e/console.spec.ts mobile overflow block around the routes array.
- That guard checks
<main> and documentElement overflow, and explicitly ignores the header nav because the nav is intentionally overflow-x-auto.
- Local ad hoc measurement at 320/360/375/390 with mocked profile data found no document-level or
<main> overflow, but did find the top primary nav horizontally scrollable on Profile:
store/console/src/components/Layout.tsx uses overflow-x-auto on the primary nav.
- This may be what users experience as horizontal page scroll, especially on touch devices where the header pans.
- Profile also has several tight single-row flex layouts that should be hardened for narrower phones and real data:
- API token row:
store/console/src/pages/Profile.tsx around the API Token section uses one flex row with a token span plus Copy/Show buttons.
- Account rows use truncation and max widths; real IDs/tokens/logins should be tested at 320px and 360px.
Suggested fix
- Reproduce on a real mobile viewport/device, especially 320px wide and iOS Safari if possible.
- Decide whether the primary nav should be horizontally pannable on mobile Profile, or collapse/hide behind the hamburger so the page does not feel horizontally scrollable.
- Harden Profile rows with wrapping/min-width constraints as needed, especially API Token:
- allow
flex-wrap on the token action row, or stack buttons below the token on small screens
- add
min-w-0 to shrinkable flex children where missing
- keep long token/user/provider strings clipped or wrapped without widening the row
- Extend the E2E guard to cover 320px and to detect unintended horizontal scrollable descendants outside known allowlisted strips.
Acceptance criteria
/console/profile has no document-level or <main> horizontal overflow at 320px, 360px, and 375px.
- Header/nav behavior on mobile is explicit: either intentionally scrollable and documented/allowlisted, or replaced by a non-panning mobile control.
- Long token, long user id/login, and API provider rows do not create horizontal scroll.
Problem
On mobile,
/console/profilecan appear horizontally scrollable. This is user-visible on the Profile page and should be treated as a mobile layout regression.Investigation notes
/console/profile, but only at 375px:e2e/console.spec.tsmobile overflow block around theroutesarray.<main>anddocumentElementoverflow, and explicitly ignores the header nav because the nav is intentionallyoverflow-x-auto.<main>overflow, but did find the top primary nav horizontally scrollable on Profile:store/console/src/components/Layout.tsxusesoverflow-x-autoon the primary nav.store/console/src/pages/Profile.tsxaround the API Token section uses oneflexrow with a token span plus Copy/Show buttons.Suggested fix
flex-wrapon the token action row, or stack buttons below the token on small screensmin-w-0to shrinkable flex children where missingAcceptance criteria
/console/profilehas no document-level or<main>horizontal overflow at 320px, 360px, and 375px.