Files
OpenFrontIO/src/client
Vahant Sharma b990fe6ae5 Use WebSocket intent for lobby game configuration updates (#2761)
Fixes #2758

## Description:
This PR migrates lobby configuration updates from the HTTP PUT
`/game/:id` endpoint to a WebSocket-based intent flow.

The lobby creator is already authenticated via the game WebSocket, so
updating configuration through intents removes redundant authentication
and aligns with existing real-time lobby actions such as `kick_player`
and `toggle_pause`.

## Changes Made
- Added `update_game_config` WebSocket intent schema
- Wired client → transport → server intent handling
- Refactored `putGameConfig()` to emit WebSocket intent instead of HTTP
fetch
- Preserved all existing validation, partial-update semantics, and
client-side debouncing
- Left the REST endpoint untouched for backward compatibility

## Testing
- All existing automated tests pass
- Manual verification completed:
  - Lobby creator can update all lobby settings
  - Non-creators are rejected
  - Updates are rejected after game start
  - Bots slider debounce (300ms) remains intact
  - No `PUT /api/game/:id` requests are made from the lobby UI

## Checklist:
- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
2026-01-01 16:46:53 -08:00
..
2026-01-01 14:25:45 -08:00
2026-01-01 14:25:45 -08:00
2025-12-18 19:41:29 -08:00
2025-10-23 15:02:13 -07:00
2025-12-29 09:03:46 -08:00
2025-12-29 18:37:51 -08:00
2025-09-09 14:37:06 -07:00
2026-01-01 14:25:45 -08:00
2026-01-01 14:25:45 -08:00
2026-01-01 14:25:45 -08:00
2026-01-01 14:25:45 -08:00