Files
kandev/docs/plans/github-authentication/task-18-workspace-authentication-ux.md
T

61 lines
2.3 KiB
Markdown

---
id: "18-workspace-authentication-ux"
title: "Workspace authentication UX"
status: done
wave: 6
depends_on: ["17-frontend-registration-client"]
plan: "plan.md"
spec: "../../specs/integrations/github-authentication.md"
---
# Task 18: Workspace Authentication UX
## Acceptance
1. Workspace settings provide PAT, matched-height named CLI, known App selection, guided existing-App
import, and guided manifest creation without segmented tabs or a System Settings detour.
2. Method guidance, private/public meaning, registration sharing, actor attribution, permission
dialog, and conditional personal identity match the spec and expose no secrets after submission.
3. Component tests cover all source/states and the desktop/mobile layouts meet the 44px, one-scroll,
wrapping, no-overlap contract.
## Verification
```bash
cd apps/web && rtk pnpm run typecheck
cd apps && rtk pnpm --filter @kandev/web test -- components/github/github-connection-dialog.test.tsx components/settings/system/github-app-settings.test.tsx
cd apps && rtk pnpm --filter @kandev/web lint
```
Rename/move the singleton settings tests to workspace component names as part of the task and run
their resulting paths if the old paths no longer exist.
## Files Likely Touched
- `apps/web/components/github/github-settings.tsx`
- `apps/web/components/github/github-status.tsx`
- `apps/web/components/github/github-connection-dialog.tsx`
- `apps/web/components/github/github-connection-dialog.test.tsx`
- `apps/web/components/github/github-permissions-dialog.tsx`
- `apps/web/components/settings/system/github-app-settings.tsx` (move/refactor)
- `apps/web/components/settings/system/github-app-setup-form.tsx` (move/refactor)
- `apps/web/components/settings/system/github-app-permissions-dialog.tsx` (remove/reuse shared dialog)
- `apps/web/components/settings/system/github-app-settings-model.ts` (move/refactor)
- corresponding component/model tests
- `apps/web/app/settings/integrations/github/page.tsx`
## Dependencies
Task 17.
## Inputs
- Spec: **Choosing A Method**, **UX And Mobile Contract**, and scenarios.
- Existing workspace connection dialog and settings shell patterns.
- Invoke mobile-parity and use existing icon components.
## Output Contract
Report user flows and responsive behavior, tests run, files touched, screenshots inspected,
blockers/risks, and update this task plus `plan.md` to done.