Skip to content

Profile page shows horizontal scroll on mobile #235

Description

@serge-ivo

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions