Mirror tray notifications in app#869
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 26, 2026, 11:17 PM ET / 03:17 UTC. Summary Reproducibility: yes. from source. Current main's Notifications page renders AppNotificationService snapshots while system.notify and gateway notification handlers still call ToastService without adding AppNotification entries; I did not run a Windows tray smoke in this read-only review. Review metrics: 3 noteworthy metrics.
Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Mantis proof suggestion Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land this paired fix after final validation stays green, keeping app notifications current-session-only and preserving toast settings, dedupe, chat routing, and transient-toast exclusions. Do we have a high-confidence way to reproduce the issue? Yes, from source. Current main's Notifications page renders AppNotificationService snapshots while system.notify and gateway notification handlers still call ToastService without adding AppNotification entries; I did not run a Windows tray smoke in this read-only review. Is this the best way to solve the issue? Yes. The PR adds a focused shared publisher and mapper, preserves existing toast delivery, keeps transient confirmations toast-only, and adds regression coverage for the new behavior. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against dd1c7916204c. Label changesLabel justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
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 re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
4a89db9 to
1da2ed8
Compare
Summary
Fixes #820.
This PR makes the companion app's in-memory Notifications page and top-of-window InfoBar reflect the same substantive tray-visible notifications that are already shown as Windows toasts.
Before this change, many notification producers only called
ToastService.ShowToast(), so users could see notifications in Windows Notification Center while the companion app's Notifications page stayed empty. The page and global InfoBar were not broken; they only render items published throughAppNotificationService.What changed
AppNotificationService, including:OpenClawNotificationeventssystem.notifyeventsSessionKeyis available and generic Chat fallback when it is not.Scope notes
This intentionally keeps app notifications current-session/in-memory only. It does not add disk-backed notification persistence. Closing or restarting the tray still clears the Notifications page, which matches the current product behavior.
Validation
./build.ps1dotnet test ./tests/OpenClaw.Shared.Tests/OpenClaw.Shared.Tests.csproj --no-restoredotnet test ./tests/OpenClaw.Tray.Tests/OpenClaw.Tray.Tests.csproj --no-restoreScreenshots
After running this command in a Powershell prompt:
dotnet run --project .\src\OpenClaw.WinNode.Cli\OpenClaw.WinNode.Cli.csproj -- --command system.notify --params '{"title":"Notification mirror test","body":"This should appear in the Windows toast, top InfoBar, and Notifications page."}'