Repository navigation
Conversation
The pane footer Dashboard button now covers the active gateway, so the Connection status-strip icon and Dashboard card are removed. The saved-gateway row item and the Config schema-unavailable action stay, restyled with the footer Dashboard glyph and "Open in Dashboard"; Config now opens the same contextual route as the footer. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
🦞👀 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 changes before merge. What this changesRemoves duplicate Connection Dashboard controls and aligns the remaining page actions with the shared footer’s appearance and routing. Example: Open Connection settings while connected to a Gateway.
Review scores
ProductKind: Refactor · Worth it: Yes · Fix scope: Complete Merge readiness⛔ Needs changes before merge - 1 item remains Keep this maintainer-authored PR open: it provides a focused cleanup still absent from main, with one small documentation correction identified. Priority: P3 Before merge
Findings
Tests
Agent review detailsHow this fits togetherNative Settings pages send Dashboard requests through existing application commands; the shared route catalog selects supported destinations and the existing launcher handles credentials and browser dispatch. flowchart LR
A[Connection settings] --> B[Shared pane footer]
C[Config recovery button] --> D[Dashboard route catalog]
B --> D
D --> E[Existing Dashboard launcher]
E --> F[Browser]
Technical reviewBest possible solution: Keep the existing footer and route-catalog ownership, preserve the two distinct page actions, and update the connection guide to match. Do we have a high-confidence way to reproduce the issue? Current main directly shows the duplicate Connection controls alongside the existing shared footer; no target runtime was launched during review. Is this the best way to solve the issue? The implementation is appropriately small: remove the duplicate controls and dead handler, reuse the existing Config route policy, synchronize all six locales, and retain distinct saved-gateway and recovery actions. Full review comments:
Overall correctness: patch is correct AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 2812fe5187f6. Provenance checked
TestingProof path: shipped entry point. SecurityNone. EvidenceAcceptance criteria:
What I checked:
Likely related people:
Preflight sourceSource unknown. Source comparison at the observed PR snapshot only. Completion is self-reported; body, policy, tests, execution, and report bytes are not verified. Review metrics
LabelsLabel changes:
Label justifications:
Rank-up movesOptional improvements that raise the rating; they are not merge blockers.
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment Reviewed November 6, 2026, 9:52 PM ET / November 7, 2026, 02:52 UTC. |
|
Abandoning this change for now. Closing without merging. |
Related: #1996, #2047 (shared footer Dashboard button and contextual Dashboard path)
What Problem This Solves
The Connection page showed two extra Dashboard buttons (a status-strip icon and a "Channels, integrations and gateway settings" card) that duplicate the always-visible footer Dashboard button and use a different icon and label.
User Impact
User impact: Connection settings no longer show duplicate Dashboard buttons; the footer Dashboard button (Ctrl+Shift+D) opens the Connection settings route in the Dashboard when the Gateway version supports it. The remaining page-level actions, the saved-gateway row menu and the Config schema-unavailable recovery button, now share the footer icon and read "Open in Dashboard". The Config button now opens the same route as the footer (
/settings/generalon verified Gateways, otherwise Dashboard home) instead of the unverifiedconfigpath.Why This Change Was Made
Each page-level entry point was kept only where it adds something the footer cannot do:
HubSearchCatalog.Counterpart, like the footerRetired resource keys are removed in all six locales and new labels are translated. The Dashboard launch-failure dialog title moved off the removed card's key to
GatewayDashboard_Title.ConnectionPage.xaml.csonly shrinks.docs/ARCHITECTURE.mdcloses the "Gateway dashboard management card" row and addsconnection-page-dashboard-closedwith a guard test.Evidence
Connected to the synthetic fixture Gateway, current head: the Connection page has no status-strip Dashboard icon and no Dashboard card, the footer Dashboard button is present (bottom left), and the saved-gateway menu shows the restyled "Open in Dashboard" item with the footer glyph.
Disconnected (UI test capture from
SettingsChatLink_ReturnsToRetainedChatInSameWindow): no Dashboard card on the Connection page; the footer Dashboard button remains.New tests guard the retirement (
ConnectionPage_LeavesActiveGatewayDashboardToThePaneFooter), the restyle (RemainingPageDashboardActions_UseTheFooterDashboardGlyph) and the resulting routes (FooterReplacementsForRetiredPageButtons_OpenVerifiedSettingsRoutesOrDashboardHome: verified Connection to/settings/connection, verified Config to/settings/general, unverified or unknown versions to Dashboard home).Gap: the Config schema-unavailable button is not visually proven, because the fixture Gateway always returns a schema. Its XAML, resources and route are covered by build, localization and source/route tests only.
Change Type
Scope
winnodeRequired proof pools
windows-winui-interactive: visible WinUI change on the Connection and Config pages (current-head screenshots above; Config schema-unavailable state still unproven visually)Validation
Run on Windows 11 ARM64 against the final source (identical to
d07dc68d):./build.ps1: all builds succeeded; documentation validation passed (72 files)dotnet test ./tests/OpenClaw.Shared.Tests/OpenClaw.Shared.Tests.csproj --no-restore: 4868 passed, 0 failed, 25 skipped (opt-in integration/MXC)dotnet test ./tests/OpenClaw.Tray.Tests/OpenClaw.Tray.Tests.csproj --no-restore: 5258 passed, 0 failed, 0 skippeddotnet test ./tests/OpenClaw.Tray.UITests/OpenClaw.Tray.UITests.csproj -r win-arm64 --filter "FullyQualifiedName~SettingsChatLink_ReturnsToRetainedChatInSameWindow"(ond07dc68d): 2 passed, 0 failedgit diff --check: cleanAn earlier shared-test run on a previous revision of this change had one failure that did not reproduce on rerun; this change does not touch shared code. Independent rubber-duck review: no blocking issues; its P2 suggestion (assert the resulting Dashboard routes, not just source shape) is addressed by the new
HubSearchCatalogTeststheory.Real Behavior Proof
OpenClaw.GatewayFixtureHost, scenariomulti-session-browse)d07dc68d15c8da7ebfd6f0f79240ccea57beec55dotnet OpenClaw.GatewayFixtureHost.dll --app <built app>; local MCPapp.navigate {"page":"connection"}; UI Automation search for the removed AutomationIds; invoked the saved-gateway "Options" button; captured the owned app window{"StripDashboardAction": false, "ConnectionDashboardCard": false, "SettingsDashboardName": "Open Dashboard", "SavedRowMenuItems": ["Open in Dashboard", "Disconnect", "Edit"]}, plus the screenshots aboveYes/No/N/A) YesSecurity Impact
Yes/No) NoYes/No) NoYes/No) NoYes/No) NoYes/No) NoYes, explain the risk and mitigation: N/ACompatibility and Migration
Yes/No) YesYes/No) NoYes/No) NoReview Conversations