Toast Daemon
Shows overlay toast windows for new entries in ~/.config/robos/notifications.json, with tiers, categories, do-not-disturb and anti-spam limits.
The Toast Daemon turns entries in ~/.config/robos/notifications.json into on-screen toasts. Anything that appends an entry with read: false and a new id triggers one, for example robos-notify from RobOS CLI Tools or the lock notice from Pass Manager.
Behavior
- Categories are
pr_review,ci_cd,task,agent,securityandsystem. Event names such asci_failedorpass_lockedmap to a category. - Tiers are
critical,warning,infoandsecurity. By defaultcriticalandsecuritytoasts stay until dismissed,warningfades after 12 seconds andinfoafter 5. - Stack. Up to 5 toasts are visible (default), 380 px wide, in a corner chosen in settings (default
top-right). - Do Not Disturb. Non-critical toasts are suppressed. Critical, security and sticky ones are queued and shown when DND ends.
- Quiet hours (default 22:00 to 07:00, off by default) and an anti-spam limiter: a 30 second cooldown for repeats, at most 4 toasts per 10 seconds, and dropping exact duplicates. Critical and security alerts bypass the limiter by default.
- A toast with an
open-appaction asks the desktop manager to launch that app, through the socket named byROBOS_DM_SOCKETor/tmp/robos-dm-<uid>.sock.
The delivery-mode setting (Smart Dual, RobOS Rich Toasts Only, Ubuntu GNOME Native Only, Both Always) only controls whether this daemon shows its overlay. In native-only mode it suppresses overlay toasts. The daemon does not itself send GNOME notifications; robos-notify does that with notify-send when it is installed.
The console window
RobOS Toast Notification Console has the tabs Monitor & Stack, Delivery & Dual-Notifications, Anti-Spam & Respam, Auto-Fade & Timing, Position & Appearance, Category Matrix, Sandbox & Auth Simulator, and Event Audit Stream. The sandbox tab has preset buttons that fire sample toasts (CI build passed, PR review requested, CI pipeline blocked, task assigned, security auth request). Use Save Preferences to store settings in ~/.config/robos/notification-prefs.json, Reset Defaults to restore them, and Dismiss All to clear the stack.
Run it
Launch RobOS Toast Daemon from the app launcher, or run npm start in packages/robos-toast. Only one instance runs at a time. Closing the console window does not quit the daemon.