Repository navigation
refactor(ui): simplify settings owners - #140225
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs maintainer review before merge. Reviewed September 6, 2026, 12:05 PM ET / 16:05 UTC. ClawSweeper reviewWhat this changesThe PR consolidates Control UI settings defaults, tool updates, schema helpers, and log styling while removing an unsupported empty-profile response path. Merge readiness✅ Ready for maintainer review This remains a useful, maintainer-requested cleanup that current main does not already contain. No introduced correctness or security defect was found. Priority: P3 Review scores
Verification
How this fits togetherThe Control UI turns settings routes, configuration schemas, and Gateway responses into editors and status panels. These changes simplify how those panels select sections, update tool settings, and display profile and log results. flowchart TD
A[Settings routes] --> B[Section registry]
B --> C[Settings editors]
D[Configuration schemas] --> C
C --> E[Tool override updates]
F[Gateway responses] --> G[Profile and Logs panels]
Before mergeNone. Agent review detailsSecurityNone. PR surfaceSource -115, Tests +203. Total +88 across 17 files. View PR surface stats
Review metricsNone. Technical reviewBest possible solution: Keep one owner for settings defaults and tool updates while preserving supported Profile recovery and Logs presentation. Do we have a high-confidence way to reproduce the issue? Not applicable: this PR consolidates existing behavior rather than reporting a runtime defect; source inspection found no introduced failing path. Is this the best way to solve the issue? Yes. Reusing the existing registry and helpers removes duplication without changing supported defaults, saved settings, or the Gateway response contract. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 7e9a8414d30b. LabelsLabel justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (1 earlier review cycle)
|
Centralize settings defaults, tool overrides, schema traversal and array defaults. Remove the unsupported Profile success state and unread Logs task transport while preserving existing request, editing and recovery contracts.
a0336c1 to
ee8743f
Compare
|
Merged via squash.
|
Centralize settings defaults, tool overrides, schema traversal and array defaults. Remove the unsupported Profile success state and unread Logs task transport while preserving existing request, editing and recovery contracts.
What Problem This Solves
Settings repeated page defaults, tool override updates, schema traversal/default construction and log styling. The Logs task also carried an unread field, and Profile supported a successful response without a profile even though the Gateway contract never produces one.
This maintainer-requested cleanup removes those duplicate and unsupported paths through existing owners.
Related: #139597
Why This Change Was Made
Derive page IDs and defaults from the section registry, use one single/bulk tool update with canonical normalization, and reuse the existing schema collector and one array-default loop. Keep section order, independent selections, Advanced boundaries, bookmarks, aliases, wildcard entries, callback counts, input immutability and schema constraints intact.
Profile now consumes the declared successful response and retains its real rejection/Refresh flow. Remove only the unsupported success fixtures, their dedicated CSS and unused English keys. Logs keeps its real quiet-polling state while dropping unread task transport, and shares identical badge/filter tones in its existing lazy stylesheet. The Connection capability test imports its helper directly from its owner.
Production is 115 lines smaller; tests grow by 203 lines after discounting moved selection cases. No new configuration, schema, protocol, dependency or public API removal.
User Impact
No intended change to supported behavior or appearance. Authorization, saving, lifecycle fencing, retries, avatar revisions, log-source recovery and accessibility remain covered.
Evidence
The attached synthetic captures show Logs before/after and preserved Profile error redaction. They contain no live user/account data.