Skip to content

feat(tray): consistent back-links across cross-page navigations#521

Open
bkudiess wants to merge 1 commit into
openclaw:masterfrom
bkudiess:back-buttons
Open

feat(tray): consistent back-links across cross-page navigations#521
bkudiess wants to merge 1 commit into
openclaw:masterfrom
bkudiess:back-buttons

Conversation

@bkudiess
Copy link
Copy Markdown
Contributor

@bkudiess bkudiess commented May 23, 2026

Adds consistent ← Back to {origin} affordances for cross-page navigations in the tray Hub. Destinations show the back link only when arriving from another page; rail/direct nav stays clean.

Mechanism

  • New nav calls pass an originTag (e.g. Navigate(""voice"", ""chat"")).
  • Destinations have a BackOriginLink HyperlinkButton wired to RefreshBackOriginLink(); label comes from NavOriginLabels which reuses the existing sidebar HubWindow_NavigationViewItem_*.Content resw keys so page names stay translated and in sync.
  • New strings: BackToOriginFormat (""Back to {0}"") + BackToOriginGeneric.Text (""Back""), localized in en-us / fr-fr / nl-nl / zh-cn / zh-tw.
  • Sessions → Chat intentionally skips the back link (Chat is a destination, not a sub-page).

Cross-page connections wired

From To Origin
About Debug info
Bindings Connection bindings
Channels (2 sites) Config channels
Chat (settings gear + voice dialog) Voice chat
Config (open-connection InfoBar) Connection config
Connection card Sessions connection (pre-existing)
Connection card Instances connection (pre-existing)
Connection card Permissions connection (pre-existing)
Cron Connection cron
Debug Connection debug
Instances (pending-pair banner) Connection instances
Permissions Voice permissions
Usage Connection usage

Destinations with dynamic back-link: Config, Connection, Debug, Voice. Sessions/Instances/Permissions keep their existing BackToConnectionLink (only ever receive connection origin).

Validation: ./build.ps1 + tray (934) + shared (2045) tests pass.

@clawsweeper
Copy link
Copy Markdown

clawsweeper Bot commented May 23, 2026

Codex review: needs real behavior proof before merge. Reviewed June 3, 2026, 5:26 PM ET / 21:26 UTC.

Summary
The PR adds localized dynamic “Back to {origin}” links to selected tray Hub pages and threads origin tags through cross-page navigation calls.

Reproducibility: not applicable. this is a feature PR, not a bug report with a failing current-main reproduction path. Source inspection verifies the existing origin-navigation contract and the PR’s extension points, but visible behavior still needs proof.

Review metrics: 2 noteworthy metrics.

  • Diff size: 24 files changed, +250/-16. The change spans multiple pages, tests, and locale resources, so visual proof matters more than a single source assertion.
  • Visible destinations: 4 Hub pages add dynamic back links. Config, Connection, Debug, and Voice all get new user-visible top-of-page controls that need desktop verification.

Merge readiness
Overall: 🧂 unranked krab
Proof: 🧂 unranked krab
Patch quality: 🐚 platinum hermit
Result: blocked until 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:

  • [P1] Add a redacted screenshot or short recording showing representative Back to origin links and the hidden state for direct rail navigation.
  • Keep private information out of proof, including IP addresses, API keys, phone numbers, and non-public endpoints.

Proof guidance:

  • [P1] Needs real behavior proof before merge: Needs real behavior proof before merge: add a redacted screenshot, recording, terminal/live output, linked artifact, or log showing the Hub back-link behavior; after updating the PR body, ClawSweeper should re-review automatically, or a maintainer can comment @clawsweeper re-review.

Mantis proof suggestion
A short desktop visual proof would materially help verify the new Hub back-link behavior and hidden state. A maintainer can ask Mantis to capture proof by posting a new PR comment that starts with the OpenClaw Mantis account mention, followed by:

visual task: verify Hub back-origin links appear for Config, Connection, Diagnostics, and Voice origin-tagged navigations and hide under direct rail navigation.

Risk before merge

  • [P1] No after-fix screenshot, recording, live output, linked artifact, or redacted log shows that the new Hub links render correctly and stay hidden for direct rail navigation.
  • [P1] The read-only review did not run the repository build or test commands, so the PR body’s validation claim remains contributor-reported.
  • [P1] Four visible tray pages get new top-level HyperlinkButtons, so layout and label placement need real UI proof rather than source inspection alone.

Maintainer options:

  1. Require visible Hub proof (recommended)
    Have the contributor add a redacted screenshot or short recording showing representative Back to origin flows plus the hidden state for direct rail navigation.
  2. Maintainer verifies locally
    A maintainer can choose to run the tray UI locally and own the visual verification before merging without waiting for contributor media.
  3. Pause the polish
    Leave this PR paused or close it if the navigation polish is not worth additional review time without proof.

Next step before merge

  • [P1] Contributor or maintainer proof is the next blocker; there is no narrow code repair for ClawSweeper to automate.

Security
Cleared: The diff only touches tray UI navigation, localization resources, and a source-level test assertion; no concrete security or supply-chain concern was found.

Review details

Best possible solution:

Land the focused Hub navigation polish after redacted visual proof confirms the origin-tagged links appear and direct rail navigation stays clean.

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

Not applicable: this is a feature PR, not a bug report with a failing current-main reproduction path. Source inspection verifies the existing origin-navigation contract and the PR’s extension points, but visible behavior still needs proof.

Is this the best way to solve the issue?

Yes, pending proof: extending LastNavigationOrigin keeps this on the existing Hub navigation model instead of adding a second navigation-state source. A shared component could reduce duplication later, but the current patch is narrow enough for this UX change.

AGENTS.md: found and applied where relevant.

Codex review notes: model gpt-5.5, reasoning high; reviewed against be64bea0bec8.

Label changes

Label changes:

  • add merge-risk: 🚨 other: Merging without real UI proof could ship visible navigation/layout behavior that CI and source inspection do not validate.

Label justifications:

  • P3: This is low-risk tray UX polish for navigation ergonomics rather than a blocking runtime defect.
  • merge-risk: 🚨 other: Merging without real UI proof could ship visible navigation/layout behavior that CI and source inspection do not validate.
  • rating: 🧂 unranked krab: Overall readiness is 🧂 unranked krab; proof is 🧂 unranked krab and patch quality is 🐚 platinum hermit.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: Needs real behavior proof before merge: add a redacted screenshot, recording, terminal/live output, linked artifact, or log showing the Hub back-link behavior; after updating the PR body, ClawSweeper should re-review automatically, or a maintainer can comment @clawsweeper re-review.
Evidence reviewed

What I checked:

Likely related people:

  • Régis Brid: Blame and -S history show the existing LastNavigationOrigin contract and Back to Connection pattern on current master came from commit 7d9152f. (role: introduced current behavior; confidence: high; commits: 7d9152f427a3; files: src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs, src/OpenClaw.Tray.WinUI/Pages/SessionsPage.xaml.cs, src/OpenClaw.Tray.WinUI/Pages/InstancesPage.xaml.cs)
  • Ranjesh: Recent current-main history touched ConnectionPage and ConfigPage, which are central destinations affected by this PR’s visible back-link behavior. (role: recent adjacent contributor; confidence: medium; commits: f4d4793f744f, cd283cd8681d; files: src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs, src/OpenClaw.Tray.WinUI/Pages/ConfigPage.xaml.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 rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. labels May 23, 2026
@clawsweeper
Copy link
Copy Markdown

clawsweeper Bot commented May 23, 2026

ClawSweeper PR egg

🎁 Pass real behavior proof to wake the egg and unlock a hatchable treat.

Where did the egg go?
  • The egg game starts only after the PR passes the real-behavior proof check.
  • Before that, no creature or rarity is rolled. The treat waits for real proof.
  • This is still just collectible flavor: proof affects review readiness, not creature quality.

Extended the existing 'Back to Connection' affordance (Sessions/Instances/
Permissions) to every cross-page link in the Hub so users always have a
one-click return path.

- Added Helpers/NavOriginLabels for nav-tag -> display-label mapping so
  destination pages can render 'Back to {origin}' dynamically.
- Threaded originTag through 9 cross-page Navigate calls: About->Debug,
  Channels->Config (x2), Permissions->Voice, and Bindings/Cron/Usage/
  Debug/Instances->Connection.
- Added the inline back HyperlinkButton + Initialize-time wiring to
  ConfigPage, VoiceSettingsPage, DebugPage, and ConnectionPage matching
  the existing Sessions/Instances/Permissions pattern.
- Updated AsyncListLoadingPageWiringTests to accept the originTag-bearing
  Navigate('connection', ...) signature.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@clawsweeper clawsweeper Bot added the merge-risk: 🚨 other 🚨 Merging this PR has meaningful risk outside the owned taxonomy. label Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 other 🚨 Merging this PR has meaningful risk outside the owned taxonomy. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. 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.

1 participant