Skip to content

fix(website): improve mobile cards, disclosures and app scrolling - #2756

Merged
saurabhav88 merged 7 commits into
mainfrom
codex/2755-homepage-mobile
Sep 10, 2026
Merged

fix(website): improve mobile cards, disclosures and app scrolling#2756
saurabhav88 merged 7 commits into
mainfrom
codex/2755-homepage-mobile

Conversation

@saurabhav88

@saurabhav88 saurabhav88 commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Summary

Improve mobile browsing on the homepage: all five workflow steps are visible, the app strip scrolls automatically, and the cleanup and use-case examples respond to horizontal swipes and dragging in the mobile preview. Each cleanup explanation now expands from its full row.

Closes #2755

Changes

  • Keep the workflow in a compact vertical stack on mobile and match the app-strip label to the shared eyebrow style.
  • Enable mobile app-strip playback with manual interaction, focus, pause and reduced-motion handling.
  • Share gesture recognition between the two example cards while keeping their existing selection, bounds and playback owners. Vertical gestures do not select an example or pin its autoplay.
  • Replace the bulk explanation toggle with four native disclosures that work by tap, keyboard and without JavaScript.
  • Frame mobile use cases as shorter cards, preserve faces in all nine illustrations, and keep longer or enlarged text reachable inside the app preview. Desktop composition and dedicated-page navigation stay intact.

Validation

  • Production Astro build: 135 pages and all 13 existing homepage tests pass.
  • Help routes: 10,434 internal links, no dead links; 47 search checks pass.
  • Homepage static/link checks pass.
  • Native browser input: both swipe directions, mouse and pen dragging, small/vertical/canceled gestures, outside second contact, control clicks, and reduced-motion manual use.
  • Four independent disclosures tested by tap, Space, Enter and Tab; native expansion also works with JavaScript disabled.
  • All nine use-case results checked at 320, 390, 600, 601 and 1440px in light/dark: 90 layouts with no body overflow and every final line reachable. Another 27 mobile checks use enlarged 20px result text.
  • All nine mobile illustration crops inspected. The remote-worker card is approximately 763px tall at 390px, down from 959px.
  • Local grounded, committed-diff and independent behavioral reviews complete; runtime readability adjustments reviewed and validated.
  • Final GitHub build-check green.
  • Final cloud review clear on fc351d7e; no unresolved threads.

Browser tests use Chromium emulation and trusted input events, not physical-device Safari or OS-native stylus panning. Native app build, dictation UAT and release versioning are not applicable to this Content-only change.

Preview: http://127.0.0.1:8878/#polish and http://127.0.0.1:8878/#people

Evidence: .validation/runs/2026-09-10T02-50-26Z-fc351d7e/ in the mobile worktree; durable review/browser records in the main checkout's .validation/homepage-mobile/.

Code quality

  • Existing renderers remain the content/selection owners; no new dependency or carousel framework.
  • Native HTML owns disclosure state; the redundant JavaScript and old touch-only recognizer are removed.
  • Dedicated pages, product claims and the deferred social preview image are unchanged.

Show all five workflow steps in compact stacked cards below1000px and remove
the swipe hint. Match the app-strip label to the shared uppercase eyebrow.
Enable app auto-scroll on touch screens, yielding to touch, mouse and wheel
interaction while retaining the existing focus, pause and reduced-motion policy.

Refs #2755
Self-audit-grep: rg -n 'compatible|hood-steps|scroll-snap|eyebrow' website/src/components/home website/src/scripts/home/apps.js website/src/styles/home
Self-audit-owner: website/src/scripts/home/apps.js owns local strip interaction; motion.js retains global scheduling; existing CSS owners retain layout
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 9, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-10T03:02:29.872087Z fc351d7 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@saurabhav88

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1d9273636b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread website/src/styles/home/apps.css Outdated
Keep the aria-hidden loop copy and list padding stable when reduced motion
changes. The existing controller still stops playback. This prevents native
scroll clamping and stale-position jumps without another preference handler.

Review finding: REPRODUCIBLE. At390px the native position changed1910 to1550
when the clone hid, then jumped to1914 after motion resumed.
Refs #2755
Self-audit-grep: rg -n 'compatible|reduced-motion' website/src/styles/home/apps.css website/src/scripts/home/apps.js
Self-audit-owner: website/src/styles/home/apps.css owns track geometry; motion.js owns reduced-motion eligibility
@saurabhav88

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bc286ae073

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread website/src/scripts/home/apps.js Outdated
Use the existing contact start/end path for all non-touch pointers. Keep
touch lifetime handling and mouse-only hover unchanged.

Review finding: HYPOTHETICAL for physical native pen panning; trusted
Chromium pen events already paused through the focus guard. Accept the
two-condition defensive change because the potential conflict is silent.
Refs #2755
Self-audit-grep: rg -n 'pointerType|focused' website/src/scripts/home/apps.js website/src/scripts/home/motion.js
Self-audit-owner: website/src/scripts/home/apps.js owns contact state; motion.js owns focus and motion eligibility
@saurabhav88

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Chef's kiss.

Reviewed commit: 7be5262b3f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Use one pointer-gesture binder for cleanup and use-case cards, feeding their
existing selection functions. Preserve vertical scrolling, control taps,
manual playback and reduced motion; cancel interrupted or multi-contact input.

Replace the bulk cleanup explanation toggle with native details rows.
Frame the mobile use-case demo with a shorter illustration and visible swipe
hint, retaining desktop composition and the existing examples.

Refs #2755
Self-audit-grep: rg -n 'bindSwipe|touchstart|setGuards|polish-guards-toggle|data-swipeable' website/src/scripts/home website/src/components/home website/src/styles/home
Self-audit-owner: swipe.js owns gesture direction only; existing choose functions own selection; native details owns expansion
Apply manual playback state only once horizontal intent is recognized.
Taps and vertical scrolling no longer pin the cleanup or use-case demo.

Review finding: REPRODUCIBLE with native mouse input in the mobile preview.
A vertical drag changed the cleanup clock from running to paused despite
page motion enabled, no reduced motion and no focus inside the section.

Refs #2755
Self-audit-grep: rg -n 'onStart|horizontal|pinned|auto = false' website/src/scripts/home/swipe.js website/src/scripts/home/cleanup.js website/src/scripts/home/cases.js
Self-audit-owner: swipe.js recognizes horizontal intent; each caller owns manual playback state
Allow vertical scrolling inside the mobile illustrated app when its contents
outgrow the compact preview. Preserve the card dimensions and horizontal clipping.

Runtime validation:20px result text at320px exposed clipped final lines in
the coding, Slack, Discord and Notes examples; their host scrollHeight exceeded
clientHeight. This makes that existing overflow reachable without resizing the page.

Refs #2755
Self-audit-grep: rg -n 'overflow-y|host-app|height: 400px' website/src/styles/home/use-cases.css
Self-audit-owner: use-cases.css owns mobile demo viewport behavior
Use the reviewed upper crop for all nine mobile use-case illustrations.
Keep their desktop focal positions unchanged. The shorter banner otherwise
cuts into the remote-worker character's head.

Refs #2755
Self-audit-grep: rg -n object-position website/src/styles/home/use-cases.css
Self-audit-owner: use-cases.css owns mobile artwork framing
@saurabhav88 saurabhav88 changed the title fix(website): show all mobile workflow steps and animate the app strip fix(website): improve mobile cards, disclosures and app scrolling Sep 10, 2026
@saurabhav88

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. More of your lovely PRs please.

Reviewed commit: fc351d7e3e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@saurabhav88
saurabhav88 merged commit 65573e1 into main Sep 10, 2026
7 checks passed
@saurabhav88
saurabhav88 deleted the codex/2755-homepage-mobile branch September 10, 2026 04:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Homepage mobile: swipeable examples, expandable rows and visible workflow

1 participant