rooms ya no expiran para reconexion
This commit is contained in:
@@ -35,9 +35,6 @@
|
||||
<div v-if="!adminUnlocked && showHint" class="round-info">Controles bloqueados — clics: {{ clickCount }}/5 para habilitarlos</div>
|
||||
<div v-else-if="adminUnlocked" class="round-info">Controles habilitados</div>
|
||||
</template>
|
||||
<div v-else class="round-info">
|
||||
Ronda {{ round }} de {{ totalRounds }} — aún quedan rondas por jugar. La siguiente comenzará en breve.
|
||||
</div>
|
||||
|
||||
<div v-if="!isFinal" class="hint">Se cerrará en {{ remainingSeconds }}s</div>
|
||||
</div>
|
||||
|
||||
@@ -97,6 +97,8 @@ export class GameRoom extends Room<GameState> {
|
||||
}
|
||||
|
||||
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<GameState> {
|
||||
}
|
||||
}
|
||||
|
||||
// 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) {
|
||||
|
||||
Reference in New Issue
Block a user