Pulse/internal/notifications
rcourtman 7ee11105f5 Implement queue cancellation and atomic DB operations (P1 fixes)
Queue cancellation mechanism:
- Add CancelByAlertIDs method to mark queued notifications as cancelled when alerts resolve
- Update CancelAlert to cancel queued notifications containing resolved alert IDs
- Skip cancelled notifications in queue processor
- Prevents resolved alerts from triggering notifications after they clear

Atomic DB operations:
- Add IncrementAttemptAndSetStatus to atomically update attempt counter and status
- Replace separate IncrementAttempt + UpdateStatus calls with single atomic operation
- Prevents orphaned queue entries when crashes occur between operations
- Eliminates race condition where rows get stuck in "pending" or "sending" status

These fixes ensure queued notifications are properly cancelled when alerts resolve
and prevent database inconsistencies during crash scenarios.
2025-11-07 08:33:09 +00:00
..
concurrency_test.go Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
email_enhanced.go Fix critical notification system bugs and security issues 2025-11-07 08:29:13 +00:00
email_providers.go Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
email_template.go Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
notifications.go Implement queue cancellation and atomic DB operations (P1 fixes) 2025-11-07 08:33:09 +00:00
notifications_test.go Add test notification functionality for Apprise 2025-11-05 18:54:18 +00:00
queue.go Implement queue cancellation and atomic DB operations (P1 fixes) 2025-11-07 08:33:09 +00:00
webhook_enhanced.go Fix critical notification system bugs and security issues 2025-11-07 08:29:13 +00:00
webhook_templates.go Fix settings security tab navigation 2025-10-11 23:29:47 +00:00