Module-level _clientStarted / ruleRegistry / onAuthenticatedCallbacks reset on hot-reload (new VM context), causing a second runtime to start and the exposed __yonexusClient API to point at orphaned objects. - Replace let _clientStarted with _G["_yonexusClientStarted"] - Store ruleRegistry and onAuthenticatedCallbacks under globalThis keys, initialising only when absent (survives hot-reload) - Store runtime under _G["_yonexusClientRuntime"]; sendRule / submitPairingCode closures read it from globalThis instead of capturing a module-local ref - Re-write __yonexusClient every register() call so closures stay current, but skip runtime.start() when the globalThis flag is already set Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4.5 KiB
4.5 KiB