Files
2026-08-24 11:09:03 +00:00

63 lines
1.8 KiB
Markdown

---
id: "03-task-surface-e2e"
title: "Task surface browser coverage"
status: pending
wave: 3
depends_on: ["01-foreground-recovery", "02-listing-pull-and-create"]
plan: "plan.md"
spec: "../../specs/ui/requirements/task-surface-refresh.md"
---
# Task 03: Task surface browser coverage
## Acceptance
- Mobile Playwright proves List creation, List/Kanban pull recovery, gesture
rejection, safe-area containment, and no horizontal document overflow.
- Desktop Playwright proves Kanban/Home, List, and task-detail chat recover
deliberately dropped live updates on a foreground event without reload or
selection changes.
- Every dropped-frame test asserts the intended WebSocket notification was
actually suppressed before asserting recovery.
## Verification
```bash
cd apps/web && pnpm e2e:run tests/task/mobile-task-surface-refresh.spec.ts tests/task/task-surface-foreground-refresh.spec.ts
```
## Files likely touched
- `apps/web/e2e/helpers/ws-drop.ts`
- `apps/web/e2e/pages/mobile-kanban-page.ts`
- `apps/web/e2e/tests/task/mobile-task-surface-refresh.spec.ts`
- `apps/web/e2e/tests/task/task-surface-foreground-refresh.spec.ts`
## Dependencies
Tasks 01 and 02.
## Parallelism
Sequential. These scenarios validate the integrated result.
## Inputs
- Spec scenarios.
- E2E section and mobile design contract in `plan.md`.
- Existing `routeMainWebSocketWithPromptDrop`, task List fixtures, and
`MobileKanbanPage`.
## Risks
- A live event that was not actually dropped can create a false-positive
recovery test.
- Production E2E builds are required after frontend changes; do not use stale
assets.
## Output contract
Report RED failures, production-build E2E result, screenshots or failure
artifacts inspected, residual risks, and update this task plus `plan.md` status
in the primary conversation.