diff --git a/client/src/views/games/GameEndModal.vue b/client/src/views/games/GameEndModal.vue
index 3631ee7..2ccd1b9 100644
--- a/client/src/views/games/GameEndModal.vue
+++ b/client/src/views/games/GameEndModal.vue
@@ -35,9 +35,6 @@
Controles bloqueados — clics: {{ clickCount }}/5 para habilitarlos
Controles habilitados
-
- Ronda {{ round }} de {{ totalRounds }} — aún quedan rondas por jugar. La siguiente comenzará en breve.
-
Se cerrará en {{ remainingSeconds }}s
diff --git a/server/src/rooms/GameRoom.ts b/server/src/rooms/GameRoom.ts
index fc34cec..359ec4b 100644
--- a/server/src/rooms/GameRoom.ts
+++ b/server/src/rooms/GameRoom.ts
@@ -97,6 +97,8 @@ export class GameRoom extends Room {
}
onCreate(options: any) {
+ // Keep room alive even if all clients disconnect (avoid auto-dispose during reconnection windows)
+ try { (this as any).autoDispose = false; } catch {}
this.setState(new GameState());
this.state.roomId = this.roomId;
// Expose status via metadata for lobby listing
@@ -472,8 +474,9 @@ export class GameRoom extends Room {
}
}
- // Allow reconnection; when it happens, mark player connected and resume if both are present
- const reconnection = this.allowReconnection(client, 30);
+ // Allow reconnection without a short timeout; give players ample time to return
+ // (24 hours window to prevent unexpected room disposal due to short timeouts)
+ const reconnection = this.allowReconnection(client, 60 * 60 * 24);
reconnection.then((newClient) => {
const p = this.state.players.get(client.sessionId);
if (p) {