feat(kiloclaw): add remote OpenClaw Doctor, rename Restart Gateway to Redeploy#424
Merged
pandemicsyn merged 2 commits intomainfrom Feb 20, 2026
Merged
feat(kiloclaw): add remote OpenClaw Doctor, rename Restart Gateway to Redeploy#424pandemicsyn merged 2 commits intomainfrom
pandemicsyn merged 2 commits intomainfrom
Conversation
… Redeploy - Add runDoctor() DO method to exec 'openclaw doctor --fix --non-interactive' on the Fly Machine - Add POST /api/platform/doctor worker route - Wire through internal client, tRPC router, and React hook - Add RunDoctorDialog: modal with read-only monospace textarea for ASCII output - Rename 'Restart Gateway' button to 'Redeploy' - Collapse changelog to 4 most recent entries with 'See more' toggle - Add changelog entry for doctor feature and rename
| } | ||
| if (!open) { | ||
| hasFired.current = false; | ||
| } |
Contributor
There was a problem hiding this comment.
WARNING: Stale result flashes on reopen
When the dialog is closed and reopened, mutation.data from the previous run persists. The result && !isPending check on line 72 will briefly render the old output before the new mutation sets isPending = true.
Call mutation.reset() when the dialog closes to clear stale state:
Suggested change
| } | |
| hasFired.current = false; | |
| mutation.reset(); |
Contributor
Code Review SummaryStatus: 1 Issue Found | Recommendation: Address before merge Overview
Other Observations (not in diff)Issues found in unchanged code that cannot receive inline comments:
Files Reviewed (10 files)
|
St0rmz1
approved these changes
Feb 20, 2026
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.
Summary
openclaw doctor --fix --non-interactiveon the user's Fly MachineChanges
Worker (kiloclaw/)
KiloClawInstance.runDoctor()— new DO method, execsopenclaw doctor --fix --non-interactivevia Fly Machines exec API (60s timeout)POST /api/platform/doctor— new platform route, always returns 200 with{ success, output }Next.js
DoctorResponsetype,KiloClawInternalClient.runDoctor(), tRPCrunDoctormutationuseKiloClawMutations().runDoctorhookRunDoctorDialog— modal that fires the mutation on open, shows spinner while pending, displays ASCII output in a read-only monospace textarea with pass/fail indicatorInstanceControls— renamed Redeploy, added cyan OpenClaw Doctor button (gated onstatus === 'running')ChangelogCard— shows first 4 entries, "See more (N older)" toggle for the restAuth
Same gate as all claw operations:
baseProcedure(authenticated) →kiloclawProcedure(kiloclaw feature flag) → internal API key → DO scoped to user