Skip to content

Add app notifications surface#748

Merged
kmahone merged 8 commits into
openclaw:mainfrom
RBrid:user/rbrid/PermissionRequest1
Jun 12, 2026
Merged

Add app notifications surface#748
kmahone merged 8 commits into
openclaw:mainfrom
RBrid:user/rbrid/PermissionRequest1

Conversation

@RBrid

@RBrid RBrid commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add app notification service, InfoBar banner behavior, and Notifications page for local command denial notifications
  • Keep notification list as source of truth while making InfoBar close non-destructive
  • Fix ask-vs-prompt handling by removing synthetic decided permission prompts and using the normal permission-resolution path
  • Fix late non-final assistant frames reactivating chat turn state and keep composer tooltips stable during streaming
  • Localize new notification strings across supported locales

Validation

  • ./build.ps1
  • dotnet test ./tests/OpenClaw.Shared.Tests/OpenClaw.Shared.Tests.csproj --no-restore
  • dotnet test ./tests/OpenClaw.Tray.Tests/OpenClaw.Tray.Tests.csproj --no-restore
  • localization validation tests
  • autoreview clean after Hanselman follow-up fixes

Screenshots

image image

RBrid and others added 7 commits June 8, 2026 10:31
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add the Notifications page and InfoBar banner behavior for local command denial notifications.

Fix chat turn finalization for late assistant frames and keep composer button tooltips stable during streaming.

Localize new notification strings and cover notification state transitions with tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@clawsweeper

clawsweeper Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codex review: needs maintainer review before merge. Reviewed June 12, 2026, 12:06 PM ET / 16:06 UTC.

Summary
The PR adds an in-app notification banner and Notifications page for local command denials, plus related exec-policy compatibility, chat-state, tooltip, localization, and regression-test changes.

Reproducibility: not applicable. for the central feature request; two real Windows Companion screenshots provide high-confidence after-fix evidence of the visible notification workflow.

Review metrics: 3 noteworthy metrics.

  • Changed surface: 28 files; +2,234/-56. The PR spans persisted policy loading, node events, chat state, WinUI navigation, five locale resources, and tests.
  • Regression coverage: 3 test files changed; 1 new suite. The branch adds notification-state tests and focused coverage for legacy policy loading, concurrency, and late chat frames.
  • Visual proof: 2 screenshots inspected. The media directly demonstrates the new banner and populated Notifications page in the Windows app.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🦞 diamond lobster ✨ media proof bonus
Patch quality: 🐚 platinum hermit
Result: ready for maintainer review.

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

Rank-up moves:

  • none.

Mantis proof suggestion
A short desktop recording would materially verify the non-destructive banner close and cross-surface clear interactions that static screenshots cannot show. 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: trigger a locally denied command, close the InfoBar, verify the notification remains on the Notifications page, then clear it and verify both surfaces update.

Risk before merge

  • [P1] The 28-file branch combines a new navigation surface with persisted exec-policy migration, concurrent reload behavior, dispatcher ordering, and chat finalization fixes; although no defect was identified, maintainers should explicitly accept that combined review and rollback boundary.
  • [P1] Static screenshots demonstrate the banner and notification list, but do not directly show the claimed non-destructive close interaction; tests provide supplemental coverage for that state transition.

Maintainer options:

  1. Decide the mitigation before merge
    Land an app-owned, in-memory notification service with a non-destructive banner and reviewable notification list while retaining the branch's lossless legacy-policy handling and focused regression coverage.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge

  • [P2] No narrow repair is identified; the PR is ready for normal maintainer product and scope review rather than an automated fix lane.

Security
Cleared: The diff introduces no new dependencies, workflows, secret access, downloaded code, or broadened permissions, and its exec-policy changes remain fail-closed.

Review details

Best possible solution:

Land an app-owned, in-memory notification service with a non-destructive banner and reviewable notification list while retaining the branch's lossless legacy-policy handling and focused regression coverage.

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

Not applicable for the central feature request; two real Windows Companion screenshots provide high-confidence after-fix evidence of the visible notification workflow.

Is this the best way to solve the issue?

Yes, the app-owned service plus non-destructive InfoBar and list is a coherent maintainable direction; maintainers still need to accept the deliberately combined policy and chat regression-fix scope.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 913ba4e8f504.

Label changes

Label changes:

  • add P2: This is a substantial but bounded user-facing tray improvement with reliability fixes and limited platform scope.
  • add proof: sufficient: Contributor real behavior proof is sufficient. Two real Windows Companion screenshots directly show the after-fix denial banner and Notifications page with active, deduplicated entries.
  • add proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence. Two real Windows Companion screenshots directly show the after-fix denial banner and Notifications page with active, deduplicated entries.
  • add rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (screenshot): Two real Windows Companion screenshots directly show the after-fix denial banner and Notifications page with active, deduplicated entries.
  • remove rating: 🌊 off-meta tidepool: Current PR rating is rating: 🐚 platinum hermit, so this older rating label is no longer current.

Label justifications:

  • P2: This is a substantial but bounded user-facing tray improvement with reliability fixes and limited platform scope.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (screenshot): Two real Windows Companion screenshots directly show the after-fix denial banner and Notifications page with active, deduplicated entries.
  • proof: sufficient: Contributor real behavior proof is sufficient. Two real Windows Companion screenshots directly show the after-fix denial banner and Notifications page with active, deduplicated entries.
  • proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence. Two real Windows Companion screenshots directly show the after-fix denial banner and Notifications page with active, deduplicated entries.
Evidence reviewed

What I checked:

Likely related people:

  • RBrid: Previously landed native-chat exec-approval delivery, cross-turn state handling, session-reset fencing, and tray localization work in the same areas before proposing this PR. (role: feature owner and recent area contributor; confidence: high; commits: 5505a85da7df, 3fdfbfad837f, 25c11dd07f09; files: src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs, src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs, src/OpenClaw.Tray.WinUI/Strings/en-us/Resources.resw)
  • christineyan4: Introduced much of the current HubWindow navigation/localization structure and the original ExecApprovalPolicy file in merged PR feat: localize XAML and code-behind strings #558. (role: original tray and localization contributor; confidence: high; commits: 85445c78066b; files: src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs, src/OpenClaw.Shared/ExecApprovalPolicy.cs, src/OpenClaw.Tray.WinUI/Strings/en-us/Resources.resw)
  • shanselman: Recently hardened and annotated the central tray and chat files through merged PR Harden and annotate Slopwatch findings #716, making them relevant for the lifecycle and reliability portions of this change. (role: recent adjacent reviewer and hardening contributor; confidence: medium; commits: d23f8ca50013; files: src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs, src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs)
  • ranjeshj: Recently consolidated setup UI into the tray host and is a frequent contributor to HubWindow and chat-adjacent code, making them a useful secondary reviewer for navigation integration. (role: recent tray architecture contributor; confidence: medium; commits: afa6218338d6, 9a3a7a6131a8; files: src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs, src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.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 the rating: 🌊 off-meta tidepool PR readiness rating does not apply to this item. label Jun 11, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@RBrid

RBrid commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Jun 11, 2026

Copy link
Copy Markdown

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: the existing ClawSweeper review comment will be edited in place when the review finishes.

Re-review progress:

@RBrid RBrid marked this pull request as ready for review June 11, 2026 21:15
@RBrid

RBrid commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

1 similar comment
@RBrid

RBrid commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

@clawsweeper re-review

@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. 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. and removed rating: 🌊 off-meta tidepool PR readiness rating does not apply to this item. labels Jun 12, 2026
@kmahone kmahone merged commit 06ed71f into openclaw:main Jun 12, 2026
13 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. proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants