fix(control-ui): keep raw mode for editable config snapshots#86640
fix(control-ui): keep raw mode for editable config snapshots#86640BlackFrameAI wants to merge 1 commit into
Conversation
|
Codex review: needs changes before merge. Reviewed May 25, 2026, 9:01 PM ET / 01:01 UTC. Summary PR surface: Source +3, Tests 0. Total +3 across 3 files. Reproducibility: yes. source inspection gives a high-confidence path: apply a raw:null snapshot with sourceConfig and the PR keeps Raw mode available, but save/apply still reaches the current raw-absent guard. I did not execute tests because this review is read-only. Review metrics: 1 noteworthy metric.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Mantis proof suggestion Risk before merge
Maintainer options:
Copy recommended automerge instructionNext step before merge Security Review findings
Review detailsBest possible solution: Land one coherent raw-mode contract: availability should depend on current snapshot raw text or current serializable editable snapshot config, and generated raw drafts should save/apply with regression coverage for both editable and non-editable no-raw snapshots. Do we have a high-confidence way to reproduce the issue? Yes, source inspection gives a high-confidence path: apply a raw:null snapshot with sourceConfig and the PR keeps Raw mode available, but save/apply still reaches the current raw-absent guard. I did not execute tests because this review is read-only. Is this the best way to solve the issue? No, not as submitted. The direction is narrow and maintainable, but the implementation should use current snapshot editability instead of state.configForm truthiness and should include or coordinate the generated-raw submit fix. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model gpt-5.5, reasoning high; reviewed against c9364f03dcbb. Label changesLabel changes:
Label justifications:
Evidence reviewedPR surface: Source +3, Tests 0. Total +3 across 3 files. View PR surface stats
Acceptance criteria:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
ClawSweeper PR egg 🔥 Warming up: real-behavior proof passed; findings, security review, or rank-up moves are still in progress. Hatch commandComment Hatchability rules:
What is this egg doing here?
|
|
Closing this split PR as superseded by #86700. Raw-mode availability and generated-raw submit behavior are coupled, so they are now combined in one replacement PR. |
What changed
Why
The gateway can return snapshots where
rawis missing or null while structured config is still available throughsourceConfig,resolved, orconfig. The controller already serializes that editable config intoconfigRaw, so treating raw mode as unavailable solely becausesnapshot.rawis absent hides a mode that can still be rendered from structured config.This fixes the UI/control-state mismatch without changing behavior for snapshots that truly have neither raw text nor editable structured config.
Real behavior proof
OpenClaw 2026.5.25, token-authenticated Control UI athttp://127.0.0.1:18789/config, backed by running OpenClaw gateway processes from/home/icon/CodexOps/OpenClaw/dist/index.js.openclaw-appstate plus the rendered tab buttons.Validation
pnpm --dir ui test src/ui/controllers/config.test.ts