Fix #487: New reserve/push-only #494

Merged
crueber merged 1 commit from fix/issue-487 into main 2026-09-13 20:50:30 +00:00
Owner

Client surface removal only — no backend change (internal/mirror untouched, POST /api/v1/repos/mirrors stays).

  • New.jsx: mirror-from-URL mode deleted (kind radiogroup, source-URL/schedule block, mirror submit branch, button label swap, dead getMode/getSource/getSchedule/mirrorError signals + MIRROR_PRESETS/validateMirrorCreate imports). Push-first intro kept as the only intro, plus one sentence pointing mirror-seekers at /import. Format/visibility stay.
  • Import.jsx: sole mirror path verified intact (radio, schedule, repos.mirrors.create via shared lib); pull-only help paragraph (import-mirror-help, wired to the schedule select) added so the model survives the New radio removal.
  • Tests: new web/test/unit/new-reserve-pushonly-487.test.js (no-mirror-UI, dead-code absence, push-first intro, Import mirror intact + help copy, shared-rule exercise of the surviving submit path); stale create-forms-479 pins updated.
  • Law-12 decision appended to docs/go/12_web_ui.md.

Verification: node --test web/test/unit/*.test.js 1087 total / 1085 pass / 2 fail (the 2 are pre-existing live-server smoke subtests, identical on pristine main); vite build + esbuild green; no new deps. Browser proof open (shared-daemon loopback guard — no private daemon per workspace rules).

Client surface removal only — no backend change (internal/mirror untouched, POST /api/v1/repos/mirrors stays). - New.jsx: mirror-from-URL mode deleted (kind radiogroup, source-URL/schedule block, mirror submit branch, button label swap, dead getMode/getSource/getSchedule/mirrorError signals + MIRROR_PRESETS/validateMirrorCreate imports). Push-first intro kept as the only intro, plus one sentence pointing mirror-seekers at /import. Format/visibility stay. - Import.jsx: sole mirror path verified intact (radio, schedule, repos.mirrors.create via shared lib); pull-only help paragraph (import-mirror-help, wired to the schedule select) added so the model survives the New radio removal. - Tests: new web/test/unit/new-reserve-pushonly-487.test.js (no-mirror-UI, dead-code absence, push-first intro, Import mirror intact + help copy, shared-rule exercise of the surviving submit path); stale create-forms-479 pins updated. - Law-12 decision appended to docs/go/12_web_ui.md. Verification: node --test web/test/unit/*.test.js 1087 total / 1085 pass / 2 fail (the 2 are pre-existing live-server smoke subtests, identical on pristine main); vite build + esbuild green; no new deps. Browser proof open (shared-daemon loopback guard — no private daemon per workspace rules).
/new (New.jsx) drops the mirror-from-URL mode: kind radiogroup,
source-URL/schedule block, mirror submit branch, label swap, and dead
mirror signals/validation/imports deleted. Push-first intro kept and
elevated with a pointer to /import. The pull-only help paragraph moves
to Import.jsx (import-mirror-help, schedule aria-describedby) so the
model survives with the sole mirror path. Shared mirror lib, SDK, and
internal/mirror untouched. Stale create-forms-479 pins updated; new
new-reserve-pushonly-487 headless cover. Decision appended to
docs/go/12_web_ui.md.
Sign in to join this conversation.
No description provided.