2.5 KiB
2.5 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec | |
|---|---|---|---|---|---|---|---|
| 03-host-platform-e2e | Prove host-platform behavior | done | 3 |
|
plan.md | ../../specs/ui/embedded-vscode-windows-availability.md |
Task 03: Prove host-platform behavior
Acceptance
- A desktop Playwright scenario simulates a Windows backend host through the injected boot payload while leaving the browser non-Windows, and observes a compatible editor without observing VS Code (Embedded).
- An inverse desktop scenario reports Windows only through
navigator.platformwhile retaining the Linux backend payload, and observes VS Code (Embedded). - A mobile scenario with a Windows-host boot payload observes the intentional mobile task topbar without desktop editor controls or document-level horizontal overflow.
Verification
Use E2E TDD: add the Windows-host desktop scenario and observe it fail before Task 02's behavior is present, then run both focused production-build specs:
cd apps/web && pnpm e2e:run tests/task/windows-host-embedded-vscode-availability.spec.ts -- --project=chromium
cd apps/web && pnpm e2e:run tests/task/mobile-windows-host-embedded-vscode-availability.spec.ts -- --project=mobile-chrome
Files likely touched
apps/web/e2e/tests/task/windows-host-embedded-vscode-availability.spec.tsapps/web/e2e/tests/task/mobile-windows-host-embedded-vscode-availability.spec.ts
Dependencies
- Task 02 must be complete.
Parallelism
Parallel-safe with Task 04 after Task 02. The files are disjoint and no shared schema, package configuration, generated contract, or lockfile is involved. User authorization is still required before using subagents.
Inputs
- Spec sections: What and Scenarios.
- Plan sections: E2E Tests, Mobile design contract, and Risks.
- Existing patterns:
apps/web/e2e/tests/settings/vscode-open-panel.spec.tsapps/web/e2e/tests/task/mobile-task-topbar-long-title.spec.tsapps/web/e2e/fixtures/test-base.ts
Risks
- The initial-document interceptor must rewrite only the serialized
runtime.hostOSvalue and preserve status, headers, and all other boot data. - Seed the compatible editor before task-page navigation so the boot payload includes it.
- The inverse scenario must not rewrite the boot payload, or it will fail to prove that visitor platform is ignored.
Output contract
Report the scenarios added, files changed, red and green E2E commands/results, artifacts or
blockers, and update this task to done plus its checkbox/status in plan.md.