Skip to content

Preview: una app que navega a su inicio ya no muestra la Sala adentro - #148

Merged
ErickUser1 merged 2 commits into
mainfrom
fix/preview-raiz
Oct 23, 2026
Merged

ErickUser1 merged 2 commits into
mainfrom
fix/preview-raiz

Conversation

@ErickUser1

Copy link
Copy Markdown
Owner

Qué arregla

Es el bug intermitente de que el chat de Multti aparecía dentro de la vista previa.

La raíz / siempre se servía como la Sala. Cuando la app del proyecto navegaba a su inicio, el iframe pedía / y recibía la Sala entera. Pasa con un link "Inicio", con el logo, o con un router que redirige a /. Al recargar, el iframe volvía a /preview/<sala>/ y se veía bien. Por eso parecía que solo pasaba a veces.

El cambio

parsePreviewUrl, en server/src/engine/proxy.ts, ahora mira quién pide / o /index.html:

  • Si lo pide un iframe (Sec-Fetch-Dest: iframe), la petición va al preview de la sala. La sala sale del Referer o de la cookie que ya existe.
  • Si se abre como página, sigue siendo la Sala. La Sala nunca se abre dentro de un iframe.

Pruebas

  • Reproducido con Playwright con una app de prueba que tiene un link a /. Al hacer clic dentro de la vista previa:
    • antes: el iframe mostraba la Sala de Multti, con el título "Multti";
    • con el arreglo: el iframe muestra la app ("Mi app: inicio").
  • curl contra el server local, con la misma cookie de sala:
    • / sin cabecera sigue dando la Sala;
    • / con sec-fetch-dest: iframe da la app.
  • demo:proxy-rutas: suma 9 checks (50/50) y ahora corre en el CI.
  • npm run typecheck y todas las demos del CI pasan.

Generated by Claude Code

El bug intermitente del chat de Multti dentro de la vista previa. La raíz "/"
siempre se servía como la Sala, así que cuando la app del proyecto navegaba a
su inicio (un link "Inicio", el logo, un router que redirige a "/"), el
iframe pedía la raíz y recibía la Sala entera. Al recargar, el iframe volvía a
/preview/<sala>/ y se veía bien, por eso parecía que pasaba a veces.

Reproducido con Playwright: una app con un link a "/", clic dentro de la
vista previa → el iframe mostraba Multti. Con el arreglo muestra la app.

Ahora "/" y "/index.html" pedidos desde un iframe (Sec-Fetch-Dest: iframe)
van al preview de la sala que dicen el Referer o la cookie. Abiertos como
página siguen siendo la Sala: la Sala nunca se abre dentro de un iframe.
demo:proxy-rutas suma 9 checks y entra al CI.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJ5oT2Xm3VZMvbPAcgKbz4
ubuntu-latest pasó a 26.04 y Playwright 1.56.1 no puede instalar Chromium
ahí ("Playwright does not support chromium on ubuntu26.04-x64"): el job se
caía en el paso de instalar el navegador, antes de la demo de ver_preview.
No es de este PR; también le pasaría a main. Se fija a 24.04 hasta subir
Playwright.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJ5oT2Xm3VZMvbPAcgKbz4
@ErickUser1
ErickUser1 merged commit 8d14836 into main Oct 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants