Split The code is public; the app answers only to the crew.
The check is red on `main` and production is not serving: one test steps a whole match and times out at 5 s #171
Check · Review · Land · Live done — Landed and live in production.
Pushed.
shipped merged
Sign in to join this conversation.
new above
offline
Pushed.
The half-time test cut its setup rather than its assertion: instead of stepping a full match for real (up to 57,600 ticks / ~3.9s), it forces
world.match.timerto one tick before eachupdatecall, so the same freeze→live→over→freeze code path inmatch.tsand the same half-time swap handler inworld.tsstill run for real — just without the per-tick cost of realistic rounds (kills, movement, the bomb clock). The test still assertsworld.match.roundactually crossed half time before checking the restore, and the swap/round-trip assertions are unchanged.Also added explicit timeouts (10s, twice the 5s default) to two other tests that genuinely play a match/round out for real —
a match plays itself to the end inside its own timeandthe carrier gets the bomb down inside the round clock— so a slower box makes them slow, not red. The per-mapreaches a resulttests already carried an explicit 30s timeout;saved.test.tshas no matching loop, so it's untouched.Cost,
bun test --reporter=junit: 20.9s total before → 17.3s after. The half-time test dropped off the slow list entirely (3.9s → <0.1s); the new slowest test isa seeded headless match on de_cinder reaches a resultat ~2.8s, well inside its existing 30s budget.bun run check(typecheck + full suite) passes, 694/694.No changes to
src/client/world.tsor any shipped module — only the two test files.Closes #166