fix(loader-server): the loader keeps running when the editor IPC channel disconnects

Abierto Apto para principiantes
#138 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
85/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
bun, typescript

Línea de trabajo

Lee apps/server/src/server.ts en torno a la configuración de editor IPC en las líneas 57–61 y compárala con el manejo de la desconexión en apps/server/src/worker.ts en las líneas 18–19. En el modo de editor IPC, gestiona la desconexión del canal del editor deteniendo el proceso hijo y saliendo del loader. El trabajo estará terminado cuando tanto el loader como el worker se detengan tras la desconexión del editor y el servidor del juego libere sus puertos.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

app:server bug
Which app is this bug report for?

server

Issue description

With --editor-ipc, the worker exits when its parent (the loader) disconnects (worker.ts#L18-L19). The loader itself has no process.on("disconnect") handler (server.ts#L57-L61).

If the editor crashes or is killed, the loader keeps running: its open IPC channel to the child keeps the event loop alive, and the game server stays up and keeps its ports. The next editor run then fails to start the game.

Found by reading the code path (not reproduced).

Expected: the loader and its worker stop when the editor goes away.

Suggested fix: in editor-IPC mode, on process.on("disconnect"), kill the child and exit.

Found during a read-only audit of main @ 044c766 (2026-11-11).

Code sample
if (editorIpc) {
  process.on("message", (message) => {
    if (child && child.exitCode === null) child.send(message as object);
  });
} // no "disconnect" handler in the loader process
Versions
  • @nanoforge-dev/loader-client / @nanoforge-dev/loader-server / @nanoforge-dev/loader-website 1.7.0 (main @ 044c766)
  • Bun 1.3.14
  • Linux x86_64
Issue priority

Medium (should be fixed soon)

I have tested this issue on a development release

044c766

Lenguaje dominante
TypeScript
Estrellas
1
Forks
0
Merge medio
17 h 25 min
PR fusionados (30 d)
11

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de NanoForge-dev/Loader

Todos los issues de NanoForge-dev/Loader

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.