Files
kandev/docs/plans/github-mobile-parity/task-02-view-picker.md
T
2026-09-12 10:06:05 +02:00

3.0 KiB

id, title, status, wave, depends_on, plan, requirements, acceptance_criteria, system_design
id title status wave depends_on plan requirements acceptance_criteria system_design
02-view-picker Mobile Views picker complete 2
01-query-recovery
plan.md
REQ-INTEGRATIONS-GITHUB-MOBILE-001
AC-INTEGRATIONS-GITHUB-MOBILE-001.2
AC-INTEGRATIONS-GITHUB-MOBILE-001.5
../../specs/integrations/system-design/github-dashboard-mobile.md

Mobile Views picker

Summary and scope

Implement the picker composition section of the design, including its focused regressions and translations. Own only the files listed below and required adjacent tests.

Out of scope

Other work-order outcomes and changes to persistence or provider API contracts.

Acceptance

  • The referenced acceptance criteria pass through the real interaction/state boundary.
  • Failure paths retain prior state and permit recovery; desktop behavior remains intact.
  • Required targeted checks pass and results are recorded.

ASCII UI preview

UI-02: Mobile Views picker

GitHub
[Views: Review requested v]
Drawer: Views                  [Done]
[Pull requests] [Issues]
  Inbox / Created / Saved (scroll)
[Save current query] (fixed footer)

See the combined preview. Geometry and hierarchy are structural; ASCII spacing is illustrative.

Verification

From the repository root:

(cd apps/web && pnpm e2e:run --project mobile-chrome tests/github/mobile-github-sidebar.spec.ts)

Hook regressions use Red-Green-Refactor. Run new/changed tests after the final source edit.

Files likely touched

Paths relative to apps/web: app/github/github-page-client.tsx, components/github/my-github/mobile-views-picker.tsx, presets-sidebar.tsx, the integration toolbar title slot, and e2e/pages/mobile-github-page.ts.

Dependencies

Task 01-query-recovery.

Risks

Keep kind switches open, retain explicit selection/default behavior, update every mobile test using the old closing behavior.

Parallelism

sequential

Inputs

Requirements, paired design, existing source and tests named above.

Results

Named Views control opens an inset bottom drawer. Kind switching stays open, final selection/Done closes, focus returns, and a 20-view collection scrolls beneath fixed header/footer controls at 320px. Eight GitHub query/recovery browser scenarios pass; desktop scope-bar scenarios also pass.

Open PR revalidation on 2026-09-11 exposed a drawer/save focus race. A slowed-close regression first failed because the form opened before the drawer released focus. Opening from the drawer's close/focus callback fixes the overlap, and the existing focus-return helper restores the initiating control after Cancel. All seven scenarios in mobile-github-sidebar.spec.ts pass after this remediation, including saved-repository selection, failed-save retry, and the new focus regression. Final delivery commands are recorded in the plan.