Skip to content

Publicar en Vercel o Cloudflare, a elegir - #154

Open
ErickUser1 wants to merge 2 commits into
mainfrom
claude/exploracion-bugs-puntuales-dxqosq
Open

ErickUser1 wants to merge 2 commits into
mainfrom
claude/exploracion-bugs-puntuales-dxqosq

Conversation

@ErickUser1

@ErickUser1 ErickUser1 commented Oct 28, 2026 •

Copy link
Copy Markdown
Owner

Por qué

Pidieron que las apps publicadas desde Multti puedan quedar en Vercel y no solo en Cloudflare. Con este cambio:

  • quien administra Multti configura una plataforma o las dos en el .env;
  • si están las dos, quien publica escoge en el panel;
  • Cloudflare sigue funcionando igual que antes.

Cambios

  • engine/publicar.ts
    • Credencial es una unión cloudflare | vercel, y credencialDeDeploy(plataforma?) devuelve la credencial de esa plataforma, o si no se indica, la primera configurada (primero Vercel y luego Cloudflare).
    • plataformasDisponibles(), plataformaDeUrl() y plataformaParaPublicar() deciden a qué plataforma va cada publicación:
      • la primera vez va a la que se pidió, o a la primera disponible;
      • una sala ya publicada se queda donde está, para que el link compartido siga sirviendo;
      • no hace falta guardar la plataforma aparte, porque la URL publicada ya dice dónde quedó.
    • El build y la carpeta de salida no cambian. La subida se separa en subirACloudflare (el código de antes, tal cual) y subirAVercel.
    • Vercel usa un solo comando: vercel deploy <salida> --prod --yes --project <nombre> --create-if-missing --non-interactive --json [--scope equipo].
      • Crea el proyecto si no existe.
      • No deja un .vercel/ en el proyecto de la sala.
      • El token va como VERCEL_TOKEN en las variables del comando, nunca en su texto, y se borra de cualquier error antes de llegar al chat.
    • sacarUrlVercel toma la URL estable (nombre.vercel.app, o nombre-xxx.vercel.app si el nombre ya lo tiene otra cuenta) y no la URL con hash de ese deploy.
    • explicarVercel traduce los errores de token, equipo, límite y red.
  • index.ts
    • POST /rooms/:id/publicar acepta plataforma.
    • El joined manda plataformasPublicacion (cada una con su dominio) y plataformaPublicada.
  • Sala: el panel de publicar tiene el selector Vercel / Cloudflare cuando hay más de una plataforma, y la dirección cambia según la que se escoja. Con una sola, no sale el selector.
  • .env.example: VERCEL_TOKEN y VERCEL_TEAM.

Pruebas

  • demo:publicar: 62/62. Los casos nuevos cubren:
    • la elección de plataforma: la pedida, la primera disponible, una no configurada, y que republicar no cambie de plataforma;
    • el comando de Vercel y que el token no vaya en él;
    • --scope;
    • la URL estable;
    • los errores traducidos sin el token.
  • Typecheck, build y las 22 demos del CI pasan.
  • Capturas del selector con las dos plataformas configuradas (con tokens falsos): bicho-taquero.vercel.app y bicho-taquero.pages.dev.
  • Pendiente: la prueba real con Vercel en el VPS. Desde la sesión de desarrollo no hay acceso a vercel.com. Si el JSON del CLI trae otra forma, se ajusta sacarUrlVercel con la salida real.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HJ5oT2Xm3VZMvbPAcgKbz4

Si el .env trae VERCEL_TOKEN, "Publicar" sube la app de la sala a Vercel y
queda en nombre.vercel.app. Sin él todo sigue en Cloudflare como antes.

- Un solo comando: `vercel deploy <salida> --prod --project <nombre>
  --create-if-missing --json`. Crea el proyecto si no existe y no deja un
  .vercel/ en el proyecto de la sala.
- El token va como VERCEL_TOKEN en las variables del comando, nunca en su
  texto, y se borra de cualquier error antes de llegar al chat.
- La URL que se guarda es la estable del proyecto, no la de ese deploy.
- VERCEL_TEAM opcional para publicar en un equipo.
- La Sala enseña la dirección de la plataforma configurada.

demo:publicar suma los casos de Vercel con un runner falso, sin red.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJ5oT2Xm3VZMvbPAcgKbz4
Con las dos plataformas configuradas, el panel de publicar enseña un
selector (Vercel marcada de entrada) y la dirección cambia según la que se
escoja. Con una sola, no hay selector.

Se escoge una vez, en la primera publicación, igual que el nombre:
republicar va a donde ya quedó la app para que el link compartido siga
sirviendo. No hace falta guardarla aparte: la URL publicada dice dónde
quedó (.vercel.app o .pages.dev).

demo:publicar suma la elección: lo pedido, la primera disponible, una no
configurada, y que republicar no cambie de plataforma.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJ5oT2Xm3VZMvbPAcgKbz4
@ErickUser1 ErickUser1 changed the title Publicar en Vercel, además de Cloudflare Publicar en Vercel o Cloudflare, a elegir Oct 28, 2026
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