Skip to content

Reorganize Settings info and diagnostics#874

Merged
shanselman merged 4 commits into
openclaw:mainfrom
bkudiess:bkudiess-merge-diagnostics-info
Jun 27, 2026
Merged

Reorganize Settings info and diagnostics#874
shanselman merged 4 commits into
openclaw:mainfrom
bkudiess:bkudiess-merge-diagnostics-info

Conversation

@bkudiess

@bkudiess bkudiess commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Removes the standalone Info page and folds app/gateway details into Settings → About as Win11-style info expanders.
  • Removes duplicate Reconfigure… from Diagnostics; Settings keeps the setup/onboarding entry point.
  • Adds App theme (System/Light/Dark) and user-overridable Enable Diagnostics with live nav updates.
  • Preserves legacy info / about routes by redirecting them to Settings and updates localization/tests.

Change Type

  • Feature
  • Refactor
  • Tests / validation

Scope

  • Tray / WinUI UX
  • Gateway / connection / pairing
  • Tests / CI / docs

Validation

  • git diff --check — passed
  • .\build.ps1 — passed (Debug, win-arm64; Shared, Cli, WinNodeCli, SetupEngine, WinUI)
  • dotnet test .\tests\OpenClaw.Shared.Tests\OpenClaw.Shared.Tests.csproj — passed: 2585 passed, 31 skipped
  • dotnet test .\tests\OpenClaw.Tray.Tests\OpenClaw.Tray.Tests.csproj — passed: 1422 passed
  • Focused proof tests:
    • dotnet test .\tests\OpenClaw.Tray.Tests\OpenClaw.Tray.Tests.csproj --filter "FullyQualifiedName~SettingsRoundTripTests|FullyQualifiedName~DiagnosticsPageContractTests|FullyQualifiedName~LocalizationValidationTests"
    • passed: 65 passed

Real behavior proof

Tested current head f8567ed0 on Windows ARM64 using direct unpackaged WinUI launch.

cd C:\Projects\copilot-worktrees\openclaw-windows-node\bkudiess-urban-bassoon
.\run-app-local.ps1 -NoBuild -Isolated -AllowNonMain

Runtime proof:

Launching OpenClaw Tray
  Branch:        bkudiess-merge-diagnostics-info
  Configuration: Debug
  Runtime:       win-arm64
  Mode:          Direct unpackaged executable
  Data dir:      C:\Users\bakudies\AppData\Local\Temp\OpenClawTray\bkudiess-urban-bassoon-bkudiess-merge-diagnostics-info-38b4dc76
Started OpenClaw Tray (PID: 2280)

Screenshot of Settings → About with the new App info / Gateway info expanders:

image

Verified behavior:

  • Old Info nav item is gone.
  • Settings → General includes App theme.
  • Settings → Developer includes Enable Diagnostics, which hides/shows Diagnostics live.
  • Settings → About includes selectable App info and Gateway info expanders.
  • Connection no longer contains the Gateway info card.
  • Diagnostics no longer contains Reconfigure….

Rubber-duck review

  • Ran rubber-duck review over the full implementation.
  • Result: no blocking issues.
  • Follow-up fixes applied:
    • Moved theme/nav UI updates in App.OnSettingsSaved onto the dispatcher-safe UI path.
    • Made DiagnosticsGate.IsVisible null-safe before settings initialization.
    • Seeded About/Gateway strings into all locales and removed the en-us-only fallback allowance.
    • Updated contract/localization tests accordingly.

Security Impact

  • New permissions/capabilities? No.
  • Secrets/tokens handling changed? No.
  • New/changed network calls? No.
  • Command/tool execution surface changed? No.
  • Data access scope changed? No.

Compatibility / Migration

  • Backward compatible? Yes.
  • Config/env changes? Yes: settings now persist AppTheme and nullable ShowDiagnostics.
  • Migration needed? No manual migration.
    • Missing AppTheme defaults to System.
    • Missing ShowDiagnostics stays null and follows the build default (true in Debug/unpackaged local builds, false for packaged Release unless user overrides in Settings).

@clawsweeper

clawsweeper Bot commented Jun 27, 2026

Copy link
Copy Markdown

Codex review: needs real behavior proof before merge. Reviewed June 27, 2026, 4:49 AM ET / 08:49 UTC.

Summary
The PR removes the standalone Info/About page, moves app and gateway details into Settings/About, adds persisted AppTheme and ShowDiagnostics settings with Diagnostics nav gating, updates routes/localization, and adjusts tray tests.

Reproducibility: not applicable. as a bug reproduction: this PR is a feature/UX reorg. Source inspection and the supplied screenshot verify the claimed surfaces rather than a failing current-main bug.

Review metrics: 2 noteworthy metrics.

  • Changed files: 24 files, +1397/-978. This is a broad tray UX/settings reorg, so proof freshness and focused review matter before merge.
  • Persisted settings: 2 fields added. AppTheme and ShowDiagnostics affect settings.json upgrade behavior and need clear compatibility text.

Merge readiness
Overall: 🦐 gold shrimp
Proof: 🦐 gold shrimp
Patch quality: 🐚 platinum hermit
Result: blocked until stronger real behavior proof is added.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • Update the PR body with current-head visible proof for Settings/About and the Diagnostics toggle, redacting private paths, endpoints, tokens, and identifiers.
  • Correct the Compatibility/Migration text so it matches the current default-visible Diagnostics behavior.

Proof guidance:

  • [P1] Needs stronger real behavior proof before merge: The screenshot and launch output are useful, but they are for f8567ed while current head is 2ef1920; update the PR body with redacted current-head proof so the review can rerun.

Mantis proof suggestion
A current-head visible WinUI proof would materially help confirm Settings/About, App theme, Diagnostics visibility, and legacy route behavior after the final commits. A maintainer can ask Mantis to capture proof by posting this exact PR comment:

@openclaw-mantis visual task: verify current-head Settings/About, App theme, Diagnostics visibility toggle, and legacy info/about routing.

Risk before merge

  • [P1] The PR body proof still names f8567ed while the current head is 2ef1920, so the final localization/default changes are not directly proven from the current PR head.
  • [P1] The Compatibility/Migration section still describes missing ShowDiagnostics as false for packaged Release, which no longer matches the current DiagnosticsGate.BuildDefault=true source.

Maintainer options:

  1. Decide the mitigation before merge
    Land after updating the PR body with current-head visible proof and corrected compatibility text, while keeping Diagnostics visible by default and legacy info/about redirects covered by tests.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge

  • [P1] The remaining action is contributor proof/body refresh plus normal maintainer review; there is no narrow code repair for automation to apply.

Security
Cleared: No concrete security or supply-chain concern was found; the diff changes tray UI, localization, tests, and persisted UI settings without adding network, secret, command-execution, dependency, or workflow surfaces.

Review details

Best possible solution:

Land after updating the PR body with current-head visible proof and corrected compatibility text, while keeping Diagnostics visible by default and legacy info/about redirects covered by tests.

Do we have a high-confidence way to reproduce the issue?

Not applicable as a bug reproduction: this PR is a feature/UX reorg. Source inspection and the supplied screenshot verify the claimed surfaces rather than a failing current-main bug.

Is this the best way to solve the issue?

Mostly yes: moving Info content into Settings/About with legacy route redirects is a maintainable path, and the latest commits preserve Diagnostics visibility by default. The remaining issue is proof/body freshness, not a clear code defect.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 989f9ffde2dd.

Label changes

Label changes:

  • add rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🦐 gold shrimp and patch quality is 🐚 platinum hermit.
  • remove rating: 🧂 unranked krab: Current PR rating is rating: 🦐 gold shrimp, so this older rating label is no longer current.
  • remove merge-risk: 🚨 compatibility: Current PR review selected no merge-risk labels.

Label justifications:

  • P2: This is a normal-priority tray UX/settings improvement with bounded proof and documentation follow-up before merge.
  • rating: 🦐 gold shrimp: Overall readiness is 🦐 gold shrimp; proof is 🦐 gold shrimp and patch quality is 🐚 platinum hermit.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs stronger real behavior proof before merge: The screenshot and launch output are useful, but they are for f8567ed while current head is 2ef1920; update the PR body with redacted current-head proof so the review can rerun.
  • proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence. The screenshot and launch output are useful, but they are for f8567ed while current head is 2ef1920; update the PR body with redacted current-head proof so the review can rerun.
Evidence reviewed

What I checked:

Likely related people:

  • bkudiess: Recent current-main work touched HubWindow navigation/status and SettingsPage-adjacent surfaces involved in this PR, so this is a strong routing signal beyond authoring this branch. (role: recent area contributor; confidence: high; commits: dd1c7916204c, 977648cc9c84, 1e6951331f1c; files: src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs, src/OpenClaw.Tray.WinUI/Pages/SettingsPage.xaml.cs)
  • conanssam: Blame shows the current SettingsPage initialization/autosave structure and HubWindow footer routing baseline came from the repository baseline commit used by this PR. (role: introduced current settings/nav baseline; confidence: medium; commits: 09298e6b3c57; files: src/OpenClaw.Tray.WinUI/Pages/SettingsPage.xaml.cs, src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml, src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs)
  • Christine Yan: Recent diagnostics bundle work touched DebugPage, AboutPage diagnostics links, and DiagnosticsPageContractTests adjacent to the reorg. (role: diagnostics area contributor; confidence: medium; commits: 8c9acbcfb5d8; files: src/OpenClaw.Tray.WinUI/Pages/DebugPage.xaml.cs, src/OpenClaw.Tray.WinUI/Pages/AboutPage.xaml.cs, tests/OpenClaw.Tray.Tests/DiagnosticsPageContractTests.cs)
  • Régis Brid: Recent app-notification/settings work touched SettingsPage and localization tests in the same WinUI settings surface. (role: settings-adjacent contributor; confidence: medium; commits: 1a07759a7e6e; files: src/OpenClaw.Tray.WinUI/Pages/SettingsPage.xaml.cs, tests/OpenClaw.Tray.Tests/LocalizationValidationTests.cs)
  • Vitor Cepeda Lopes: Recent settings schema/default work touched SettingsData, SettingsManager, and SettingsRoundTripTests, which are central to the new persisted fields. (role: settings data contributor; confidence: medium; commits: ce3294d40624; files: src/OpenClaw.Shared/SettingsData.cs, src/OpenClaw.Tray.WinUI/Services/SettingsManager.cs, tests/OpenClaw.Tray.Tests/SettingsRoundTripTests.cs)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

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 keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. P2 Normal priority bug or improvement with limited blast radius. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. and removed status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Jun 27, 2026
@bkudiess bkudiess force-pushed the bkudiess-merge-diagnostics-info branch from 300bb48 to 065be13 Compare June 27, 2026 03:18
@clawsweeper clawsweeper Bot added status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. and removed proof: sufficient Contributor real behavior proof is sufficient. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. labels Jun 27, 2026
@bkudiess bkudiess marked this pull request as ready for review June 27, 2026 03:23
@clawsweeper clawsweeper Bot added proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. labels Jun 27, 2026
@bkudiess bkudiess force-pushed the bkudiess-merge-diagnostics-info branch from f47edba to f8567ed Compare June 27, 2026 08:01
Copilot and others added 4 commits June 27, 2026 01:09
- Move About content into Settings with app and gateway info expanders
- Remove the standalone Info page and duplicate Diagnostics reconfigure action
- Add App theme setting and user-overridable Diagnostics visibility
- Update routing, localization, and contract/round-trip tests

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep Diagnostics visible when ShowDiagnostics is missing so packaged upgrades preserve the existing support surface; only an explicit user override hides it.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
When Diagnostics is explicitly hidden, remove its back-stack entries and redirect the current Diagnostics page to Settings so Back cannot reopen the hidden surface.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@shanselman shanselman force-pushed the bkudiess-merge-diagnostics-info branch from f8567ed to 2ef1920 Compare June 27, 2026 08:45
@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. labels Jun 27, 2026
@shanselman shanselman merged commit 1fb28ee into openclaw:main Jun 27, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P2 Normal priority bug or improvement with limited blast radius. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants