1.8 KiB
1.8 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec |
|---|---|---|---|---|---|---|
| 01-expose-backend-host-os | Expose backend host OS | done | 1 | plan.md | ../../specs/ui/requirements/embedded-vscode-windows-availability.md |
Task 01: Expose backend host OS
Acceptance
- Every SPA boot runtime includes
hostOSfrom the running Kandev backend'sruntime.GOOS. - Embedded/static, dev, and
/api/v1/app-statefallback payloads use the same runtime config. - The frontend boot parser exposes valid string host values and ignores invalid values.
Verification
Use TDD: add the Go serialization and frontend parsing assertions, observe them fail, implement the boot contract, then rerun:
make -C apps/backend test
cd apps && pnpm --filter @kandev/web test -- src/boot-payload.test.ts
Files likely touched
apps/backend/internal/webapp/payload.goapps/backend/internal/backendapp/helpers.goapps/backend/internal/backendapp/helpers_test.goapps/web/src/boot-payload.tsapps/web/src/boot-payload.test.ts
Dependencies
None.
Parallelism
Sequential. This task owns the backend-to-frontend contract consumed by Task 02.
Inputs
- Spec sections: What, API surface, scenarios 1, 4, and 5.
- Plan sections: Boot runtime host platform, Boot payload parsing, and Risks.
- Existing patterns:
apps/backend/internal/webapp/payload.goapps/backend/internal/backendapp/helpers.goapps/backend/internal/system/info/info.goapps/web/src/boot-payload.ts
Risks
- Do not use request user-agent data; the value must be stable for every visitor to one backend.
- Keep the embedded handler and fallback JSON payload consistent.
Output contract
Report the contract implemented, files changed, red and green commands/results, blockers or risks,
and update this task to done plus its checkbox/status in plan.md.