Skip to content

Notifications tab never shows notifications despite Windows Notification Center having them #820

Description

@QQSHI13

Problem

The Settings → Notifications tab (backed by AppNotificationService) is perpetually empty, even though plenty of OpenClaw notifications appear in the Windows Notification Center (backed by ToastService) and in the Windows action center.

Root Cause

AppNotificationService.Show() (in-app notification) and ToastService.ShowToast() (Windows Notification Center) are completely siloed:

Notification type In-app Notifications tab Windows Notification Center
Exec-approval denials ✅ (_appNotificationService.Show())
Everything else (gateway events, node activity, chat, system, pairing, etc.) ✅ (_toastService.ShowToast())

There is exactly one call to _appNotificationService.Show() in the entire codebase (App.xaml.cs:2244), and it only fires for exec-approval denials.

Affected code

  • src/OpenClaw.Tray.WinUI/Services/AppNotificationService.cs — the in-app notification service (works, but nobody calls it)
  • src/OpenClaw.Tray.WinUI/App.xaml.cs — ~30+ calls to _toastService.ShowToast(), none of which also call _appNotificationService.Show()

Expected behavior

Every notification that reaches the tray should appear in both:

  1. The in-app Notifications tab (via AppNotificationService)
  2. The Windows Notification Center / toast popup (via ToastService)

Suggested fix

Create a single notification dispatch method that calls both services, then route every callsite through it:

private void ShowNotification(AppNotification appNotification, ToastContentBuilder? toastBuilder = null)
{
    _appNotificationService?.Show(appNotification);
    if (toastBuilder is not null)
        _toastService?.ShowToast(toastBuilder);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal priority bug or improvement with limited blast radius.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions