Skip to content

ci: web/frontend has no build gate and zero tests — three UI bugs shipped past CI in one PR #660

Description

@padak

PR #658's review round demonstrated the gap concretely: three real frontend bugs (a payload field mismatch hiding the re-run button, an optimistic-update leak, a missing branch_id on re-run) were caught only by manual review and a live browser pass — none by CI, because no workflow builds web/frontend at all.

Two decisions to make:

  1. Build gate (cheap, high value): add a CI job running cd web/frontend && npm ci && npx tsc --noEmit && npm run build on PRs touching web/frontend/**. This alone would catch type-level payload mismatches like the configId vs config bug (job list: Config column has always rendered empty — renderer reads an invented 'configId' key #659 is the CLI-side twin).
  2. Tests (bigger call): vitest currently reports "No test files found" — there are zero test files under web/frontend/src. Decide whether the frontend gets a test harness (component tests for payload-shape contracts against server/routers/* models would have caught all three bugs), or whether the build gate + review is the accepted bar.

Context: web/frontend is ~15k LOC and growing (PR #658 added a Tokens page, trash/restore, command palette...). The Python side has 6000+ tests; the UI has none.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions