Pulse/internal/notifications
rcourtman c6a69e525c Fix critical notification system bugs and security issues
Critical fixes (P0):
- Fix cooldown timing: Mark cooldown only after successful delivery, not before enqueue
- Add os.MkdirAll to queue initialization to prevent silent failures on fresh installs
- Add DNS re-validation at webhook send time to prevent DNS rebinding SSRF attacks
- Add SSRF validation for Apprise HTTP URLs
- Remove secret logging (bot tokens, routing keys) from debug logs
- Implement lastNotified cleanup to prevent unbounded memory growth
- Use shared HTTP client for webhooks to enable TLS connection reuse
- Add fallback to direct sending when queue enqueue fails
- Make queue worker concurrent (5 workers with semaphore) to prevent head-of-line blocking
- Fix webhook rate limiter race condition with separate mutex
- Fix email manager thread safety with mutex on rate limiter
- Fix grouping timer leak by adding stopCleanup signal
- Fix webhook 429 double sleep (use Retry-After OR backoff, not both)

Frontend improvements:
- Add queue/DLQ management API methods (getQueueStats, getDLQ, retryDLQItem, deleteDLQItem)
- Add getNotificationHealth and getWebhookHistory endpoints
- Add Apprise test support to NotificationTestRequest type

Related to notification system audit
2025-11-07 08:29:13 +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 Fix critical notification system bugs and security issues 2025-11-07 08:29:13 +00:00
notifications_test.go Add test notification functionality for Apprise 2025-11-05 18:54:18 +00:00
queue.go Fix critical notification system bugs and security issues 2025-11-07 08:29:13 +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