openclaw/docs/plugins/hooks
Peter Steinberger 051563c9b2
fix: keep Gateway restarts clean with Workboard enabled (#154203)
Keep Gateway restarts clean with Workboard enabled by letting shutdown own plugin cleanup and its descendants until they settle. Retire periodic maintenance and Workboard producers at drain before their request, health, plugin, and shared-storage owners close; retain one cached maintenance stop operation across failure paths.

Propagate the optional plugin drain signal through startup, replacement, and recovery without changing shared-resource disposal ordering. Preserve the captured restart-sentinel environment and remove slow fixture discovery and polling races encountered during validation.

The isolated safe-restart reproduction changed from predecessor exit 1 with a closed async-work scope to exit 0, clean shutdown in 1.035 seconds, and a ready successor. The subsequent cleanup restart also exited 0. Recorded proof includes 306 focused passing tests, selected changed-file gates, scoped-clean Codex review, and green exact-head CI. Published-updater handoff continuity and the reported 330-second systemd stall remain unverified; no configuration migration is required.

Thanks @flynnmcpoc for reporting the restart failure.

Related: #153899, #144976.
2026-09-20 20:28:25 -07:00
..
lifecycle.md fix: keep Gateway restarts clean with Workboard enabled (#154203) 2026-09-20 20:28:25 -07:00
messages.md
prompt-and-session.md fix: active memory recalls stale history in large sessions (#149180) 2026-09-16 00:38:17 -06:00
reference.md fix(memory): preserve standing intents after prompt hook timeouts (#145107) 2026-09-11 11:22:32 -07:00
tool-policy.md refactor(code-mode): execute JavaScript with typed API discovery (#154001) 2026-09-20 15:57:08 -07:00