Skip to content

fix(notifications): quiet lifecycle hook noise - #178

Draft
Lint111 wants to merge 1 commit into
Ark0N:masterfrom
Lint111:agent/split-notification-noise
Draft

fix(notifications): quiet lifecycle hook noise#178
Lint111 wants to merge 1 commit into
Ark0N:masterfrom
Lint111:agent/split-notification-noise

Conversation

@Lint111

@Lint111 Lint111 commented Jul 28, 2026

Copy link
Copy Markdown

Summary

  • Move notification preferences to schema version 5.
  • Disable the drawer-only response-complete default while preserving explicit browser, audio, or push delivery choices.
  • Map teammate-idle and task-completed hooks to the existing opt-in subagent categories instead of idle/stop alerts.
  • Normalize local and server-hydrated preferences through the same migration path.
  • Use stable handheld identity for mobile defaults and storage keys.

Root cause

High-frequency lifecycle hooks were mapped to broadly enabled idle and stop categories, filling the notification drawer during normal agent activity. The old settings UI also reintroduced the response-complete default when preferences were hydrated from the server.

Scope

This is the notification policy slice extracted from #173. It changes notification defaults, migration, settings persistence, and focused tests. It does not remove hook delivery or affect terminal output.

Compatibility

The migration disables only the legacy stop preference shape that had no external delivery channel enabled. Users who explicitly enabled browser, audio, or push notifications keep that choice.

Validation

  • npx vitest run --config config/vitest.config.ts test/notification-manager-noise.test.ts: 4 passed
  • npm run check:frontend-syntax: 26 files passed
  • npm run build: passed
  • Commit formatting hook: passed
  • git diff --check: passed

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