diff --git a/README.md b/README.md
index 086fd63..c412499 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@ Primera versión de una plataforma de juegos online en español. Svelte 5 + Svel
- Perfil e historial con victoria, derrota, empate y posición.
- Interfaz adaptada a móvil, temas claro/oscuro, avatar, color de fichas, sonidos y animaciones de cada juego.
- Salida de partidas y cierres sin resultado por inactividad; pendientes actualizadas en tiempo real.
-- Servicio personal en desarrollo de Juan V. Navarro Leal: popup breve de entrada y aceptación recordada con una cookie firmada.
+- Servicio personal en desarrollo de Juan V. Navarro Leal: popup breve de entrada y aceptación recordada con una cookie firmada. Al rechazar el aviso, se vuelve a imaginacion.com.
## Desarrollo local
diff --git a/deploy/activate-release.sh b/deploy/activate-release.sh
index a768902..9ef89d9 100644
--- a/deploy/activate-release.sh
+++ b/deploy/activate-release.sh
@@ -21,6 +21,11 @@ for unit in mesa-game.service mesa-backup.service mesa-backup.timer; do
install -m 0644 "deploy/$unit" "/etc/systemd/system/$unit"
done
if systemctl cat mesa-web.service >/dev/null 2>&1; then systemctl disable --now mesa-web.service; fi
+# Open tabs may still request chunks from the preceding client build.
+# Their content hashes keep them separate from the new release's assets.
+if [[ -n "$previous" && -d "$previous/build/client/_app/immutable" ]]; then
+ cp -an "$previous/build/client/_app/immutable/." "$release/build/client/_app/immutable/"
+fi
ln -sfn "$release" /opt/mesa-abierta/current.next
mv -Tf /opt/mesa-abierta/current.next /opt/mesa-abierta/current
systemctl daemon-reload
diff --git a/deploy/server-status.md b/deploy/server-status.md
index 7056be4..ff24e9b 100644
--- a/deploy/server-status.md
+++ b/deploy/server-status.md
@@ -1,6 +1,6 @@
# Servidor de Juegoland
-Versión 20261004-06. Web, API y WebSockets en mesa-game, 0.0.0.0:3000.
+Versión 20261004-07. Web, API y WebSockets en mesa-game, 0.0.0.0:3000.
El proxy Nginx existente de la red apunta a http://192.168.18.155:3000.
Nginx y el antiguo servicio mesa-web están deshabilitados en la VM.
@@ -8,7 +8,8 @@ Acceso local: http://192.168.18.155:3000.
Dominio público: https://juegoland.imaginacion.com.
78 pruebas y compilación Linux verificadas. Dos clientes reales han comprobado por el dominio público la aceptación, cookies, WebSocket, chat, movimiento, turno y resultado. Las identidades sintéticas se eliminaron después de la prueba.
-El popup breve se muestra sobre el catálogo; no hay página de condiciones completas. Open Graph y PNG de 1200×630 publicados para compartir.
+El popup breve se muestra sobre el catálogo; no hay página de condiciones completas. «No acepto» y Escape vuelven a https://imaginacion.com/ sin ocultar el aviso mientras sigue abierta Juegoland. Open Graph y PNG de 1200×630 publicados para compartir.
+El despliegue conserva los archivos inmutables del cliente anterior para que las pestañas abiertas puedan seguir cargando sus componentes.
Damas mantiene la ficha seleccionada durante capturas encadenadas y permite recorrido diagonal largo de las damas. Las partidas existentes siguen disponibles.
PostgreSQL permanece en loopback, con base y rol dedicados. Credenciales y datos existentes se conservan. APT y npm operan por IPv4. Copias diarias activas a las 03:15 Europe/Madrid.
diff --git a/src/lib/client.svelte.ts b/src/lib/client.svelte.ts
index df5b191..f957daf 100644
--- a/src/lib/client.svelte.ts
+++ b/src/lib/client.svelte.ts
@@ -10,7 +10,6 @@ export const consent = $state({
acceptedAt: null as string | null,
expiresAt: null as string | null,
reviewOpen: false,
- dismissed: false,
});
export const definitions = catalog as Definition[];
@@ -57,7 +56,6 @@ export async function api