Registering/deregistering a channel via a DB write from a non-main room did not take effect until a full restart, and restarting from inside an agent turn is unreliable (the agent is a child of ejclaw.service, so `systemctl restart` kills it mid-command and it can't be confirmed) — the source of repeated "auto-restart missing / claimed restart but it didn't happen" failures. Add a SIGHUP handler that calls runtimeState.reloadRoomBindings(), which re-reads ONLY room bindings from the DB (cursors/sessions untouched, no re-processing). `kill -HUP <MainPID>` then makes a registration live instantly with no restart and no agent death, so it is verifiable in the same turn. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
4.7 KiB
4.7 KiB