Skip to content

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

Open
bkudiess wants to merge 3 commits into
openclaw:mainfrom
bkudiess:back-buttons
Open

feat(tray): consistent back-links across cross-page navigations#521
bkudiess wants to merge 3 commits into
openclaw:mainfrom
bkudiess:back-buttons

Conversation

@bkudiess

@bkudiess bkudiess commented May 23, 2026

Copy link
Copy Markdown
Contributor

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.
download

@clawsweeper

clawsweeper Bot commented May 23, 2026

Copy link
Copy Markdown

Codex review: needs real behavior proof before merge. Reviewed June 9, 2026, 3:01 PM ET / 19:01 UTC.

Summary
The PR threads origin tags through tray Hub cross-page navigation, adds localized dynamic Back to origin links on Config, Connection, Debug, and Voice, and loosens one tray wiring test for origin-bearing navigation calls.

Reproducibility: not applicable. this is a tray UX feature PR rather than a bug report. The relevant check is visual proof of the changed Hub navigation states, and the posted screenshot only covers one shown-link state.

Review metrics: 1 noteworthy metric.

  • PR surface: 25 files changed, +280/-20. The diff spans multiple tray pages, helper code, locale resources, and a test, so one screenshot is thin coverage for the changed behavior.

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:

  • [P1] Add redacted visual proof for representative Back to origin links plus direct rail navigation with no link; after updating the PR body, ClawSweeper should re-review automatically, or a maintainer can comment @clawsweeper re-review.
  • Remove the extra trailing blank lines from NavOriginLabels.cs.

Proof guidance:

  • [P1] Needs stronger real behavior proof before merge: A screenshot now shows one Back to Diagnostics link, but it does not show the hidden-link direct navigation case or representative destination coverage; add redacted screenshots or a short recording and update the PR body to trigger re-review.

Mantis proof suggestion
A short desktop visual proof would materially help verify the shown-link and hidden-link tray navigation states. 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 tray Hub Back to origin links appear after cross-page navigation and disappear after direct rail navigation.

Risk before merge

  • [P1] The only posted screenshot shows one after-fix Back to Diagnostics state; it does not prove direct rail navigation hides the link or that the other destination pages render the right origin labels.
  • [P1] The Windows validation commands were not run in this read-only review; the PR body reports ./build.ps1, tray tests, and shared tests passing.

Maintainer options:

  1. Add representative tray proof (recommended)
    Ask for a short redacted recording or paired screenshots showing at least one cross-page Back to origin link and direct rail navigation where the link is hidden.
  2. Accept the visual proof gap
    Maintainers may merge on code review and reported tests alone, but they would own the risk that some tray routes show stale or unexpected backlink UI.

Next step before merge

  • [P1] Contributor-provided real behavior proof is the next blocker; ClawSweeper should not queue a repair because automation cannot prove the contributor’s Windows tray setup for them.

Security
Cleared: The diff is limited to tray UI navigation, localization resources, helper code, and one test; I found no concrete security or supply-chain concern.

Review findings

  • [P3] Remove the extra blank lines at EOF — src/OpenClaw.Tray.WinUI/Helpers/NavOriginLabels.cs:43-45
Review details

Best possible solution:

Land the focused tray UX change after representative visual proof covers both shown and hidden backlink states, and after the helper’s trailing blank lines are trimmed.

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

Not applicable; this is a tray UX feature PR rather than a bug report. The relevant check is visual proof of the changed Hub navigation states, and the posted screenshot only covers one shown-link state.

Is this the best way to solve the issue?

Yes, the implementation direction fits the existing HubWindow LastNavigationOrigin pattern and reuses localized sidebar labels. The remaining merge blockers are proof coverage for the promised behavior and a small EOF whitespace cleanup.

Full review comments:

  • [P3] Remove the extra blank lines at EOF — src/OpenClaw.Tray.WinUI/Helpers/NavOriginLabels.cs:43-45
    git apply --check --whitespace=error-all reports a new blank line at EOF in the added helper. Trim the extra empty lines after the closing brace so whitespace checks stay clean.
    Confidence: 0.91

Overall correctness: patch is correct
Overall confidence: 0.78

AGENTS.md: found and applied where relevant.

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

Label changes

Label changes:

  • add proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence. A screenshot now shows one Back to Diagnostics link, but it does not show the hidden-link direct navigation case or representative destination coverage; add redacted screenshots or a short recording and update the PR body to trigger re-review.
  • 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.

Label justifications:

  • P3: This is a low-risk tray navigation UX improvement with limited blast radius and no evidence of urgent broken user workflow.
  • merge-risk: 🚨 other: The merge risk is visual navigation-state correctness that ordinary CI does not prove: backlinks must appear only after cross-page entry and stay hidden for direct navigation.
  • 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: A screenshot now shows one Back to Diagnostics link, but it does not show the hidden-link direct navigation case or representative destination coverage; add redacted screenshots or a short recording and update the PR body to trigger re-review.
  • proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence. A screenshot now shows one Back to Diagnostics link, but it does not show the hidden-link direct navigation case or representative destination coverage; add redacted screenshots or a short recording and update the PR body to trigger re-review.
Evidence reviewed

What I checked:

  • Repository policy read: Read the full target AGENTS.md; its validation guidance was considered, but this read-only review did not run build or test commands. (AGENTS.md:1, 71d249711d63)
  • Current main does not already contain this feature: Current main has no NavOriginLabels, BackToOriginFormat, BackOriginLink, or newly origin-tagged cross-page navigation calls, so the PR is not implemented on main. (71d249711d63)
  • Existing navigation-origin infrastructure: Current main already has HubWindow.LastNavigationOrigin and origin-aware NavigateTo plumbing that this PR extends to more pages. (src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs:231, 71d249711d63)
  • Provenance for existing origin behavior: git blame ties the current LastNavigationOrigin and existing BackToConnection behavior to commit 85445c7. (src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs:231, 85445c78066b)
  • PR merge-ref implementation: The GitHub merge ref adds NavOriginLabels.BackToLabel and wires channel Config navigation to pass the channels origin. (src/OpenClaw.Tray.WinUI/Helpers/NavOriginLabels.cs:40, 77197439a509)
  • Real behavior proof inspected: The PR image was downloaded and inspected; it shows the Connection page rendering Back to Diagnostics, but it does not show direct rail navigation with the link hidden or representative destination coverage.

Likely related people:

  • Christine Yan: git blame and git log -S tie the current LastNavigationOrigin infrastructure and existing BackToConnection pattern to the localization/back-link commit. (role: introduced behavior; confidence: high; commits: 85445c78066b; 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)
  • bkudiess: Prior main history shows this contributor rebuilt the Connection, Channels, Debug, Cron, and Sessions tray surfaces and added the original per-page Back to Connection link before this PR. (role: feature area contributor; confidence: high; commits: 672aadc33fe0, 9c9f70565076, 310809bc329c; files: src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs, src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs, src/OpenClaw.Tray.WinUI/Pages/DebugPage.xaml.cs)
  • Scott Hanselman: Recent current-main history touches HubWindow and ConnectionPage hardening in the same tray navigation surface. (role: recent adjacent contributor; confidence: medium; commits: d23f8ca50013; files: src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs, src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.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

clawsweeper Bot commented May 23, 2026

Copy link
Copy Markdown

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
Copilot and others added 2 commits June 9, 2026 10:47
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@clawsweeper clawsweeper Bot added proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. 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. labels Jun 9, 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. 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.

1 participant