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 |
|
plan.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.