Found by Jesse playing v0.7.5 on phoenix.local: a browser that had ever held a multiplayer seat could not reach the new solitaire setup screen at all. start() checked a browser-remembered multiplayer session before ever looking at solitaire's own state, and a bare ./play.html load could not tell "clicked Play solitaire" apart from "reloaded mid multiplayer game" — the same problem ?lobby already solved for the door on the other side, never applied to this one. The door now links to ./play.html?solitaire, and start() treats that, an explicit ?seed=, or the setup screen's own ?hand= (written by every Deal) as proof this navigation means solitaire — checked ahead of the remembered-session lookup rather than only below it. 862 tests pass, three new. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AdG46Ja2PEDBkpqiDazMoX
23 lines
624 B
JSON
23 lines
624 B
JSON
{
|
|
"name": "station-master",
|
|
"version": "0.7.6",
|
|
"private": true,
|
|
"type": "module",
|
|
"description": "Station Master — a railroad operations game",
|
|
"engines": {
|
|
"node": ">=22.18"
|
|
},
|
|
"scripts": {
|
|
"typecheck": "tsc --noEmit",
|
|
"pretest": "node scripts/build-web.ts",
|
|
"test": "node --test test/*.test.ts test/**/*.test.ts",
|
|
"build:web": "node scripts/build-web.ts",
|
|
"serve:web": "node scripts/build-web.ts && npx --yes http-server dist -p 8080 -c-1",
|
|
"deploy:web": "node scripts/deploy-web.ts"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^26.1.2",
|
|
"typescript": "^7.0.2"
|
|
}
|
|
}
|