Module-level _serverStarted / ruleRegistry / onClientAuthenticatedCallbacks reset on hot-reload (new VM context). After hot-reload the second runtime attempt would hit EADDRINUSE (silently swallowed) while __yonexusServer was overwritten to point at a transport that never started, making every sendRule() return false. - Replace let _serverStarted with _G["_yonexusServerStarted"] - Store ruleRegistry and onClientAuthenticatedCallbacks under globalThis keys, initialising only when absent - Store transport under _G["_yonexusServerTransport"]; sendRule closure reads it from globalThis instead of a module-local capture - Re-write __yonexusServer every register() call (updated closures), but skip runtime.start() when the globalThis flag is already set Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
8.9 KiB
8.9 KiB