La sala dice que esta levantando la app, no que esta vacia - #15
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.