From c40d07222f346554bca78de7d820e29f0484c7d1 Mon Sep 17 00:00:00 2001 From: "prompt.ac/@jeffrey" Date: Wed, 30 Sep 2026 15:50:07 -0700 Subject: [PATCH] Close musical sockets when Lith drains for restart --- lith/server.mjs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lith/server.mjs b/lith/server.mjs index 337a6d1d57..b707e910f5 100644 --- a/lith/server.mjs +++ b/lith/server.mjs @@ -1454,7 +1454,7 @@ if (DEV && HAS_SSL) { // Share authentication, concurrency guards and durable quotas with the HTTP lane. const musicalAPI = await import(pathToFileURL(join(SYSTEM, "netlify/functions/easel-musical-jev.mjs")).href); -attachMusicalSocket(server, {authenticate:musicalAPI.authenticateMusical, decide:musicalAPI.musicalDecision}); +const musicalSocket = attachMusicalSocket(server, {authenticate:musicalAPI.authenticateMusical, decide:musicalAPI.musicalDecision}); // --- Account deletions --- // Purges accounts whose grace period has ended (system/backend/ @@ -1531,6 +1531,7 @@ const DRAIN_TIMEOUT = 10_000; // 10s max wait function gracefulShutdown(signal) { console.log(`[lith] ${signal} received, draining connections...`); + musicalSocket.close(); server.close(() => { console.log("[lith] all connections drained, exiting"); process.exit(0); -- 2.51.2