fix(loader-server): the loader keeps running when the editor IPC channel disconnects
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 85/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- bun, typescript
- Bereich
- backend, networking
Rechercherichtung
Lies apps/server/src/server.ts im Bereich der Editor-IPC-Einrichtung bei den Zeilen 57–61 und vergleiche sie anschließend mit der Behandlung der Trennung in apps/server/src/worker.ts bei den Zeilen 18–19. Behandle im Editor-IPC-Modus die Trennung des Editor-Kanals, indem du den Child-Prozess stoppst und den Loader beendest. Fertig ist es, wenn Loader und Worker nach der Trennung des Editors stoppen und der Game-Server seine Ports freigibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- TypeScript
- Sterne
- 1
- Forks
- 0
- Ø Merge
- 17 Std. 25 Min.
- Gemergte PRs (30 T.)
- 11
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus NanoForge-dev/Loader
-
app:client app:website enhancement refactor
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
NanoForge-dev/Loader#145 ·
Maintainer antworten meist innerhalb von 1 Tag
-
chore(loader-client,loader-server): package.json entry points name files the build does not produceOffenapp:client app:server bug chore good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
NanoForge-dev/Loader#144 ·
Maintainer antworten meist innerhalb von 1 Tag
-
app:website bug good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
NanoForge-dev/Loader#141 ·
Maintainer antworten meist innerhalb von 1 Tag
-
app:website bug good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
NanoForge-dev/Loader#140 ·
Maintainer antworten meist innerhalb von 1 Tag
-
app:server bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
NanoForge-dev/Loader#134 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in NanoForge-dev/Loader
Ähnliche Issues
-
Mend: dependency security vulnerability
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 65/100
fdm-monster/fdm-monster#5563 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
be-BOP-io-SA/be-BOP#2849 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 79/100
Maintainer antworten meist innerhalb von 1 Tag
-
1️⃣ phase/under-investigation flaky/confirmed flaky/needs-decision type/bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
growilabs/growi#12246 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
🐛 The Rulekeeper - An index run that gives up on the lock ends SucceededEvtl. vergeben @github-actions hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
SSWConsulting/SSW.Rules#2809 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag