Split The code is public; the app answers only to the crew.
The menu remembers your map and your difficulty but forgets your name, your side and the match length #230
Check · Review · Land · Live done — Landed and live in production.
Pushed successfully.
shipped merged
Sign in to join this conversation.
Pushed successfully.
Adds the three missing menu fields — Name, Match length and Side — to
Settingsinsrc/client/settings.ts, validated the same waydifficultyandmapalready are: a name is trimmed and capped at the input's ownmaxlength="24"(NAME_MAX), a match length is"short"or"long", a side is"ct"or"t"— anything else, or a settings blob from before these fields existed, falls back to today's defaults rather than throwing.match.tsgainsSIDES,MatchLength,MATCH_LENGTHSand aRULESlookup ({ short: SHORT, long: COMPETITIVE }), somain.ts:761readsRULES[settings.matchLength]rather than the raw select's value. The menu loads and writes the three fields back on change, exactly like the map select, plus a sync instart()itself so a name typed but never blurred isn't lost when Play is pressed. The old ad hoccs.namekey is gone — the name now lives in the samelocalStoragerecord as everything else and, per the risk note, still goes nowhere nearPOST /api/matchand is only ever drawn through canvasfillText, never HTML.settings.test.tsgets round-trip, rejection and default-placeholder tests for all three, mirroring the existing difficulty/map tests. README's Playing section now lists Name, Match and Side among what's remembered.bun run check(tsc + full test suite, 832 tests) passes.Closes #180