feat: add gateway session maintenance settings UI - #1163
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. |
|
Codex review: needs maintainer review before merge. Reviewed August 18, 2026, 7:41 PM ET / 23:41 UTC. ClawSweeper reviewWhat this changesAdds a Gateway Configuration form for session retention and disk-cleanup settings, including validation, localization, and focused tests. Merge readinessKeep open. Current main does not contain this session-maintenance editor, and this member-authored feature still needs maintainer product confirmation plus production-Gateway compatibility evidence. Priority: P3 Review scores
Verification
Live VerificationCommand: Result: FAIL (failed) — execution before step 1 Assertions:
How this fits togetherThe Gateway Configuration page reads a connected gateway’s JSON configuration and sends an optimistic full-config patch after user edits. This adds a typed session-maintenance form to that existing save and refresh flow. flowchart LR
A[Connected gateway] --> B[Configuration response]
B --> C[Gateway Configuration page]
C --> D[Session maintenance form]
D --> E[Validation and draft changes]
E --> F[Optimistic configuration patch]
F --> G[Gateway refresh]
G --> C
Decision needed
Why: This adds a durable operator-facing configuration surface, while the linked request is explicitly awaiting product direction. Before merge
Agent review detailsSecurityNone. Review metrics
Root-cause clusterRelationship: Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: If sponsored, retain the dedicated form and validate a current-head save and refresh round trip against a production OpenClaw Gateway. Do we have a high-confidence way to reproduce the issue? Not applicable. This PR adds a new configuration UI rather than reporting broken current-main behavior. Is this the best way to solve the issue? Unclear. The generic JSON editor already writes configuration, so a maintainer must confirm that the specialized form is the desired product surface. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 99730e7569fc. LabelsLabel justifications:
EvidenceWhat I checked:
Likely related people:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (1 earlier review cycle)
|
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
Summary
mode,pruneAfter,maxEntries,resetArchiveRetention,maxDiskBytes, andhighWaterBytesconfig.patchflowFixes #1161
Validation
Validated on the exact current PR head
76666d58ac067d18a11d8e2291ad2d39016c8dabon Windows:./build.ps1passed: Shared, CLI, WinNodeCli, SetupEngine, and WinUIdotnet test ./tests/OpenClaw.Shared.Tests/OpenClaw.Shared.Tests.csproj --no-restorepassed: 3,698 passed, 32 skippeddotnet test ./tests/OpenClaw.Tray.Tests/OpenClaw.Tray.Tests.csproj --no-restorepassed: 2,474 passedgit diff --checkpassed in the PR review snapshotRubber-duck review identified and drove fixes for cross-gateway stale drafts, refresh-overwriting edits, gateway parser parity, archive-retention wording, and localization coverage.
Real behavior proof
Current-head Windows proof used the real tray executable and a disposable real loopback WebSocket protocol endpoint. This was not a production OpenClaw Gateway binary, so production-Gateway compatibility remains explicitly distinguishable from the UI and wire round trip proven here.
The endpoint returned this initial maintenance state:
UI Automation confirmed all six values loaded into the expanded Session maintenance controls. The proof changed all six values and invoked Save Changes. The captured
config.patchcontained:The endpoint observed a second
config.getafter save. UI Automation then confirmed the refreshed controls displayed all six saved values and the Save button returned to disabled, proving a clean post-save state. Unrelated configuration remained intact in the emitted full-config patch.Proof artifacts were captured locally from the exact PR head:
connect, initialconfig.get,config.schema,config.patch, and post-saveconfig.getNot verified: acceptance by a production OpenClaw Gateway binary. The disposable endpoint proves the WinUI, client serialization, full-config preservation, and refresh behavior without mutating a maintainer's real gateway.