Skip to content

La sala dice que esta levantando la app, no que esta vacia - #15

Merged
ErickUser1 merged 1 commit into
mainfrom
feat/preview-arrancando
Aug 4, 2026
Merged

La sala dice que esta levantando la app, no que esta vacia#15
ErickUser1 merged 1 commit into
mainfrom
feat/preview-arrancando

Conversation

@ErickUser1

Copy link
Copy Markdown
Owner

Mientras el preview arrancaba, la Sala mostraba "La sala esta vacia. Pidele a un agente que arranque el proyecto". Pero el proyecto SI existe y se esta levantando: el mensaje mentia, y por eso la espera se sentia como una pantalla muerta.

El front solo tenia un booleano (previewReady si o no), asi que no habia forma de distinguir "no hay proyecto" de "hay uno arrancando". Ahora el server avisa por que etapa va -- contenedor, dependencias, servidor -- y la Sala muestra un spinner con esa etapa. Decir cual es la parte lenta convierte una espera muerta en una que se entiende.

Quien llega a media cuesta tambien lo ve: el evento de etapa ya paso, asi que el join lleva previewArrancando.

Si el preview YA existe no se emite nada y no hay spinner: maybeStartPreview sale en la primera linea.

El spinner respeta prefers-reduced-motion (late en vez de girar).

Nota de por que tarda al volver a entrar: si el server sigue prendido, el preview no muere y volver es instantaneo. Lo que cuesta es cuando el server se reinicio (tsx watch, o apagar la maquina): las salas viven en un Map en memoria, wakeRoom las reconstruye desde SQLite pero el contenedor y el dev server hay que levantarlos otra vez. Con un server 24/7 ese caso no existe.

Mientras el preview arrancaba, la Sala mostraba "La sala esta vacia.
Pidele a un agente que arranque el proyecto". Pero el proyecto SI existe
y se esta levantando: el mensaje mentia, y por eso la espera se sentia
como una pantalla muerta.

El front solo tenia un booleano (previewReady si o no), asi que no habia
forma de distinguir "no hay proyecto" de "hay uno arrancando". Ahora el
server avisa por que etapa va -- contenedor, dependencias, servidor -- y
la Sala muestra un spinner con esa etapa. Decir cual es la parte lenta
convierte una espera muerta en una que se entiende.

Quien llega a media cuesta tambien lo ve: el evento de etapa ya paso, asi
que el join lleva previewArrancando.

Si el preview YA existe no se emite nada y no hay spinner:
maybeStartPreview sale en la primera linea.

El spinner respeta prefers-reduced-motion (late en vez de girar).

Nota de por que tarda al volver a entrar: si el server sigue prendido, el
preview no muere y volver es instantaneo. Lo que cuesta es cuando el
server se reinicio (tsx watch, o apagar la maquina): las salas viven en
un Map en memoria, wakeRoom las reconstruye desde SQLite pero el
contenedor y el dev server hay que levantarlos otra vez. Con un server
24/7 ese caso no existe.
@ErickUser1
ErickUser1 merged commit a84ac16 into main Aug 4, 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