Skip to content

Reconectar Supabase adopta el proyecto de la sala en vez de crear otro - #98

Merged
ErickUser1 merged 1 commit into
mainfrom
fix/supabase-reconectar
Sep 23, 2026
Merged

ErickUser1 merged 1 commit into
mainfrom
fix/supabase-reconectar

Conversation

@ErickUser1

Copy link
Copy Markdown
Owner

Qué pasaba

  1. Desconectar y volver a conectar rompía la sala. Desconectar borra la conexión de Multi, no el proyecto (es de la persona). Al volver a conectar, Multi intentaba crear otro multi-<sala>: Supabase rechaza el nombre repetido y la sala se quedaba sin base; si lo aceptara, la app apuntaría a una base vacía sin sus tablas ni datos.
  2. Al volver de autorizar, el panel decía "Conectar Supabase" unos segundos como si no hubiera pasado nada. La vuelta de OAuth recarga la página, y los primeros avisos de etapa (por socket) llegaban antes de que la Sala se conectara.

Cambios

  • Sin proyecto guardado, antes de crear se busca en la cuenta (GET /v1/projects, permiso Projects de lectura que ya se tiene) uno llamado multi-<sala> y se adopta. Si está pausado (INACTIVE) se dice en vez de esperar diez minutos. La contraseña no se recupera (Supabase no la devuelve nunca); la app no la necesita.
  • El server guarda en memoria la etapa de la preparación de cada sala y GET /rooms/:id/supabase la devuelve; el panel ya lo relee en cada joined, así que al volver de autorizar muestra "Creando / Levantando / Protegiendo" desde que carga.
  • ROADMAP.md: la idea de Blender en la sala (con noVNC en el preview), lo que falta probar y el plan B.

Cómo se probó

Server real con la API de Supabase simulada (el simulador rechaza nombres repetidos, como Supabase):

1a conexión: el panel al volver ve etapa=levantando
1a conexión: proyecto=mockref, .env con VITE_SUPABASE_URL y VITE_SUPABASE_ANON_KEY
desconectado: proyecto=null (el .env se queda)
2a conexión: el panel al volver ve etapa=protegiendo
2a conexión: proyecto=mockref, .env con las dos variables
log: un solo POST /v1/projects; "ya tenía el proyecto mockref: se adopta en vez de crear otro"

Además npm run typecheck, npm run build y las 5 demos del CI. No se probó contra un Supabase real.

🤖 Generated with Claude Code

https://claude.ai/code/session_01HJ5oT2Xm3VZMvbPAcgKbz4


Generated by Claude Code

Desconectar borra la conexion, no el proyecto (es de la persona). Al
volver a conectar, Multi intentaba crear otro con el mismo nombre:
Supabase lo rechaza y la sala se quedaba sin base; y si lo aceptara, la
app apuntaria a una base vacia sin sus tablas. Ahora, sin proyecto
guardado, se busca uno llamado multi-<sala> en la cuenta y se adopta
(si esta pausado, se dice). La contrasena no se recupera: Supabase no
la devuelve nunca, y la app no la necesita.

Y el panel ya no dice "Conectar Supabase" unos segundos al volver de
autorizar: la vuelta recarga la pagina y los primeros avisos por socket
se perdian. El GET del panel ahora trae la etapa en curso.

ROADMAP: la idea de Blender en la sala, con lo que hay que probar antes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJ5oT2Xm3VZMvbPAcgKbz4
@ErickUser1
ErickUser1 merged commit f474c70 into main Sep 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