forked from AnalogJ/scrutiny
-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
backendBackend/Go relatedBackend/Go relatedenhancementNew feature or requestNew feature or requestfrontendFrontend/Angular relatedFrontend/Angular relatednotificationsNotification system relatedNotification system relatedpriority:lowLow priorityLow priority
Milestone
Description
Summary
The notification system currently has a limited set of configuration options. Several commonly requested settings are missing that would give users more control over when and how they are notified.
Why
Users with many drives or noisy notification channels need finer-grained control. Currently, the only options are global toggles and a single timeout threshold. This leads to either notification spam or users disabling notifications entirely.
Proposed Settings
Notification cooldown / rate limiting
missed_ping_cooldown_minutes-- minimum time between repeated notifications for the same device (currently deduplication is binary: notified or not)notification_rate_limit-- maximum notifications per hour across all types
Quiet hours
notification_quiet_start-- time to stop sending notifications (e.g., "22:00")notification_quiet_end-- time to resume notifications (e.g., "07:00")- Queued notifications sent as a digest when quiet hours end
Per-device notification overrides
- Allow overriding the global
missed_ping_timeout_minutesper device (some devices report less frequently by design) - Expose this in the device detail settings alongside the existing mute toggle
Acceptance Criteria
- At least one of the above settings groups is implemented end-to-end (backend setting, DB migration, frontend UI, notification logic)
- Existing default behavior is unchanged for users who don't configure new settings
- Settings are exposed in the dashboard settings UI
- Unit tests cover the new logic paths
Additional Context
- Current settings:
webapp/backend/pkg/models/settings.golines 24-37 - MissedPingMonitor:
webapp/backend/pkg/web/missed_ping_monitor.go - Frontend settings:
webapp/frontend/src/app/layout/common/dashboard-settings/dashboard-settings.component.ts
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
backendBackend/Go relatedBackend/Go relatedenhancementNew feature or requestNew feature or requestfrontendFrontend/Angular relatedFrontend/Angular relatednotificationsNotification system relatedNotification system relatedpriority:lowLow priorityLow priority