Skip to content

[codex] implement notification system#87

Draft
DorianZheng wants to merge 1 commit into
mainfrom
feature/notification-system-AJ7Cdr
Draft

[codex] implement notification system#87
DorianZheng wants to merge 1 commit into
mainfrom
feature/notification-system-AJ7Cdr

Conversation

@DorianZheng

Copy link
Copy Markdown
Collaborator

Summary

Adds a configurable Dune notification system with main-process delivery, renderer settings, throttling, quiet hours, and notification history.

What Changed

  • added a new Electron main-process notifications module with shared types, macOS delivery, Telegram delivery, rolling history, throttling, and idle-agent polling
  • wired workflow, agent-error, and budget-warning events into the notification manager from the main/runtime layer
  • added notification settings IPC in main.ts, preload exposure, desktop bridge types, and a new Notifications section in Settings
  • built a notifications settings panel with trigger/channel toggles, Telegram chat id entry, Do Not Disturb controls, auto-save, and history clearing
  • added focused unit tests for notification manager/history plus renderer/preload/settings coverage for the new surface

Why

Users currently have to watch the Dune UI continuously to notice review/acceptance transitions, agent failures, budget warnings, or long idle periods. This change adds configurable alerts across desktop and Telegram channels while avoiding noisy repeats.

Impact

  • users can opt into the supported notification triggers and channels from Settings
  • alerts are suppressed during configured quiet hours and throttled to at most one per item per 5 minutes
  • the settings panel shows the last 50 delivered notifications in-session

Validation

  • pnpm typecheck
  • pnpm vitest run src/electron/preload.test.ts src/renderer/features/settings/config/settings-sections.test.ts src/electron/main/notifications/notification-history.test.ts src/electron/main/notifications/notification-manager.test.ts src/renderer/features/settings/notifications/NotificationsSettingsPanel.test.tsx src/electron/main/runtime/desktop-runtime-controller.test.ts

Notes

  • pnpm vitest run src/electron/main/runtime/agent-runtime.test.ts did not return in this worktree, so I did not count it as a passing validation result.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant