Starting an underfilled or scheduled call immediately sent Start. Ask "Start
this call early?" inline, with Start now and Keep waiting choices, before
publishing an early start. Ready and elapsed calls retain one-click starting,
and local launch still waits for core acceptance.
Match the existing cancel confirmation layout, reset pending confirmation on
call or actor changes, and test the real action callbacks for dismissal,
retry, deferred acceptance, normal starts, and missing local games.
Test Plan:
- `just frontend-test` -- passed, 113 tests
- `just test` -- passed on rerun, 797 tests; the initial run hit an unchanged
scoped-process test's two-second child-start timeout
- `just clippy` -- passed with warnings denied
- `just fmt` -- passed
- `deno task build` -- passed TypeScript and Vite production build
- `git diff --cached --check` -- passed
The card hid Start now until the roster filled or the deadline elapsed,
preventing groups from starting early with fewer players. Expose the existing
start action for every unfinished caller-owned call, including scheduled calls
before check-in. Keep check-in controls and launch only after core acceptance.
Add rendered-card regressions for six-of-eight players, solo and scheduled
starts, creator authority, terminal states, and unavailable local games. Use
installed React packages for these tests without rewriting the app lockfile,
and document the caller's control over start time.
Test Plan:
- `just frontend-test` -- passed, 107 tests including 8 rendered-card tests
- `just test` -- passed, 797 Rust tests
- `just clippy` -- passed with warnings denied
- `just fmt` -- passed
- `deno task build` -- passed TypeScript and Vite production build
- `git diff --cached --check` -- passed