Remove static design mocks — everything live, one demo snapshot for e2e #61
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/kill-mocks"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Removes every static design mock from the desktop app. Each surface is now either wired to live Gitea data or deleted; the sole remaining fixture is one deterministic, gitea-shaped demo snapshot used by e2e (no live gitea).
Interactive onboarding (live)
config:discover→/user+/user/repos) → pick from dropdowns → real bootstrap (config:bootstrap: applies the label schema + ensures the*-pm-statesidecar). New core:discoverRepos,createLabel,SCHEMA_LABELS,ensurePmStateRepo(12 unit tests).Cut design-only surfaces
Fixture-free screens
directives-screenis fully live offpmstate.directives().data/fixtures.ts→data/view-types.ts(types only; all const design data deleted).One testing fixture, no live gitea
apps/desktop/src/main/demo-snapshot.ts: a single gitea-shaped snapshot served by the reconcile/boot/collaborators/capacity/directives handlers whenCOMMITEA_E2E=1, rendered through the real view builders.smoke.specrewritten to assert on it — 12/12 green, tokenless.Verify
tscclean · desktoptscclean · 12/12 smoke green. (perf#32 micro-benchmark flakes under machine load — unrelated, passes in isolation.)🤖 Generated with Claude Code
P1 — cut showcases: - Delete gallery.tsx (Primitives) and StatesScreen/Specimen from states.tsx (keep the reusable EmptyState/OfflineBanner/ModelAwayState). - Delete placeholder-screen.tsx ('built in a later phase' stub). - app-shell: drop the states/primitives views, the dev-rail block, the PHASE/TITLE maps, the INBOX_UNREAD=3 fixture fallback, and the now-dead demo state. P2 — real connectivity: - Replace the fake 'toggle the connection (demo)' button with a live status dot derived from the reconcile: green online, red when serving the stale cache (gitea unreachable), amber while connecting. OfflineBanner + chat offline now reflect real state, not a manual toggle. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>The 4-step wizard is now fully live — nothing faked. Backend (core + main): - GiteaClient.createLabel (POST /labels). - core/gitea/bootstrap.ts: SCHEMA_LABELS (the full est/p/deadline vocabulary with colors+descriptions), applySchemaLabels (idempotent — creates only missing), repoExists + ensurePmStateRepo (token-scoped, org vs personal endpoint). 7 tests. - config:bootstrap IPC handler + preload bridge + BootstrapResult type. Wizard: - Connect step → live config.discover ('connected · N repos visible' is real). - Repo step → owner dropdown + repo radios from the discovered repos. - Bootstrap step → real: applies the label schema + ensures the pm-state sidecar, shows the actual outcome (created vs already-present), then saves config. - Gate: first run (no config) → wizard; reconnect (existing) → the compact card. Removed the dead 'firstrun' dev view. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>