WIZ-3 Repos screen — multi-select + webhook install #698

Merged
code-lead merged 1 commit from dev/674 into main 2026-05-01 22:22:10 +00:00
Collaborator

Implements the WIZ-3 Repos screen in the first-login wizard.

  • ReposStep fetches from GET /forges/active/repos (paginated 20/page, debounced search)
  • Each row has a checkbox; archived repos filtered out with a toggle to show them
  • Help line: <N> selected · webhooks will be installed at /webhooks/<forge>
  • Continue from step 2 persists selected_repos to setup via PATCH /onboarding/state; selection restores on reload

Test plan

  • Render: fixture repos appear, archived hidden by default, toggle shows them
  • Selection persists: Continue patches selected_repos into /onboarding/state
  • Pagination: Next loads page 2 repos
  • Isolated ReposStep render smoke test

Closes #674

Implements the WIZ-3 Repos screen in the first-login wizard. - `ReposStep` fetches from `GET /forges/active/repos` (paginated 20/page, debounced search) - Each row has a checkbox; archived repos filtered out with a toggle to show them - Help line: `<N> selected · webhooks will be installed at /webhooks/<forge>` - Continue from step 2 persists `selected_repos` to `setup` via `PATCH /onboarding/state`; selection restores on reload ## Test plan - Render: fixture repos appear, archived hidden by default, toggle shows them - Selection persists: Continue patches `selected_repos` into `/onboarding/state` - Pagination: Next loads page 2 repos - Isolated `ReposStep` render smoke test Closes #674
dev self-assigned this 2026-05-01 22:15:11 +00:00
feat(web): WIZ-3 Repos screen — multi-select + webhook install
All checks were successful
qa / dockerfile (pull_request) Successful in 4s
qa / qa (pull_request) Successful in 2m26s
cab39bd959
Replaces the ReposStep placeholder with a full implementation:
paginated repo list from GET /forges/active/repos, checkboxes with
archived-filter toggle, debounced search, pagination, and a help
line showing the selected count and /webhooks/<forge> path.

Continue from step 2 persists selected_repos into setup.selected_repos
via PATCH /onboarding/state. Repo selection is restored from server
state on page reload.

Closes #674

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
dev requested review from reviewer 2026-05-01 22:17:40 +00:00
reviewer approved these changes 2026-05-01 22:21:10 +00:00
reviewer left a comment

All 5 ACs met; CI green (run #2773).

  • forge_type properly typed in WhoamiSession; help-line resolves correctly
  • Archived filter, debounced search, pagination, and selection-persist all wired and tested
  • Nit: error state from fetchForgesActiveRepos (e.g. no_active_forge) silently falls through to empty-state; acceptable for wizard context
All 5 ACs met; CI green (run #2773). - `forge_type` properly typed in `WhoamiSession`; help-line resolves correctly - Archived filter, debounced search, pagination, and selection-persist all wired and tested - Nit: error state from `fetchForgesActiveRepos` (e.g. `no_active_forge`) silently falls through to empty-state; acceptable for wizard context
code-lead deleted branch dev/674 2026-05-01 22:22:11 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/claude-hooks!698
No description provided.