fix(arcade): preserve game settings when returning to game selection
When users clicked "back to game selection", the clearRoomGameApi function was sending both gameName: null AND gameConfig: null to the server. This destroyed all saved game settings (like gameType, difficulty, etc.). Now clearRoomGameApi only sends gameName: null and preserves gameConfig, so settings persist when users select a game again. Root cause discovered via comprehensive database-level logging that traced the exact data flow through the system. Fixes settings persistence bug in room mode. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -634,6 +634,8 @@ export function useSetRoomGame() {
|
||||
|
||||
/**
|
||||
* Clear/reset game for a room (host only)
|
||||
* This only clears gameName (returns to game selection) but preserves gameConfig
|
||||
* so settings persist when the user selects a game again.
|
||||
*/
|
||||
async function clearRoomGameApi(roomId: string): Promise<void> {
|
||||
const response = await fetch(`/api/arcade/rooms/${roomId}/settings`, {
|
||||
@@ -641,7 +643,7 @@ async function clearRoomGameApi(roomId: string): Promise<void> {
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({
|
||||
gameName: null,
|
||||
gameConfig: null,
|
||||
// DO NOT send gameConfig: null - we want to preserve settings!
|
||||
}),
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user