- Shipped
- September 8, 2026 at 3:03 AM UTC
- Author
- Kamo
- Commit
- 173830d
`gameWith` answered with `Map.of("game", …)`, and `Map.of` rejects a null value with a NullPointerException. So the one endpoint whose documented normal answer is "there is no game" — the Javadoc above it says exactly that — was the one that could not express it. Every call for a pair with no game running 500'd. That is every call made on the way to STARTING one: the window asks whether a game already exists, got a 500, caught it, fell back to its opening pane and printed "Internal Server Error". The symptom was the main menu appearing after starting a match from a chat, which is why it looked like a flow bug rather than a crash. A record instead. It cannot fail this way, and it names the field, which a map does not. Checked the rest of the chess code for the same pattern: the other four Map.of calls all carry values that cannot be null. The test keeps the Map.of case around on purpose — the next person reaching for a map here should learn why not from a test rather than from a 500.