OpenClaw 2026.7.1-2 hotfix pin + watchdog safe-mode detection with resume UI - #110
Open
garrytan wants to merge 1 commit into
Open
OpenClaw 2026.7.1-2 hotfix pin + watchdog safe-mode detection with resume UI#110garrytan wants to merge 1 commit into
garrytan wants to merge 1 commit into
Conversation
…sume UI. Pin openclaw to the 2026.7.1-2 correction release: plain 2026.7.1 has the doctor --fix bug that silently strips official external-catalog plugin ids (codex) from plugins.allow (openclaw#107226, fixed by openclaw#108336) — and the watchdog runs doctor --fix --yes during auto-repair. Watchdog: detect OpenClaw's control-plane-safe mode. After the gateway's crash-loop breaker trips, /health stays green while channel autostart is suppressed; the watchdog previously reported fully healthy. Now it probes /readyz after each healthy check, exposes safeMode/suppressedChannels in status, notifies once per suppression set, and offers POST /api/watchdog/resume-channels (openclaw's channels.start override per suppressed channel). The Watchdog tab shows a safe-mode banner with the suppressed channel list and a Resume channels action, and the gateway badge shows amber "safe mode" instead of green "healthy". Set vitest testTimeout to 30s: openclaw's plugin-sdk pays a >5s dynamic import cost on first load per worker, which flakes timing-sensitive tests under parallel load. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Narrowly scoped follow-up to #109 per your review — just the dependency hotfix and the watchdog safe-mode/resume behavior with its UI. Package identity, project/template URLs, and everything else untouched; branched directly off current
main.1. openclaw pin →
2026.7.1-2Plain
2026.7.1on npm has thedoctor --fixbug that silently strips official external-catalog plugin ids (likecodex) fromplugins.allow(openclaw#107226, fixed by openclaw#108336 in the2026.7.1-2correction release). Since AlphaClaw's watchdog runsdoctor --fix --yesduring auto-repair, staying on plain 7.1 makes auto-repair actively harmful for Codex deployments.Provenance note:
2026.7.1-2was published outside openclaw's normal release pipeline (no git tag / GitHub release), so I tarball-diffed it against2026.7.1before adopting: identical dependencies, identical bin/main, no new install scripts — a clean rebuild plus the plugin-update fix.2. Watchdog: safe-mode detection + resume
OpenClaw 2026.7.1's crash-loop breaker can boot the gateway into control-plane-safe mode:
/healthstays green while channel autostart is suppressed — so the watchdog (and the UI) previously reported a fully healthy gateway while no channels were delivering messages./healthcheck the watchdog now probes/readyz(payload shape{ready, failing[], suppressed[]?}verified against the installed 2026.7.1-2 dist).GET /api/watchdog/statusgainssafeMode+suppressedChannels; one notification per distinct suppression set, with a recovery notice when it clears; state resets on gateway exit/restart/stop.POST /api/watchdog/resume-channelsissues openclaw's documented manual override (gateway call channels.start --params '{"channel":…}') per suppressed channel, then re-checks health. Returns 409 when nothing is suppressed.3. vitest
testTimeout: 30000openclaw's plugin-sdk pays a >5s dynamic-import cost on first load per worker, which flakes timing-sensitive tests under parallel load (we hit this repeatedly). One config line; individual tests can still set tighter timeouts.
Test plan
npm run build:uiclean.🤖 Generated with Claude Code