Skip to content

feat: add notification channels (email, slack, webhook)#8

Merged
leonmeijer merged 4 commits intoleonmeijer:mainfrom
pezzking:feature/notification-channels
Jan 19, 2026
Merged

feat: add notification channels (email, slack, webhook)#8
leonmeijer merged 4 commits intoleonmeijer:mainfrom
pezzking:feature/notification-channels

Conversation

@pezzking
Copy link
Collaborator

Summary

  • Add notification channels feature with support for email, SMTP, Slack, and webhook integrations
  • Full backend implementation with API endpoints, models, and delivery worker
  • Frontend settings UI for managing notification channels
  • Fix modal dialog backgrounds for better visibility
  • Comprehensive test coverage for the notification channels page

Changes

Backend

  • New models: NotificationChannel, NotificationDelivery
  • API endpoints for CRUD operations on notification channels
  • Notification dispatcher service for sending alerts
  • Celery task for async notification delivery
  • Database migration for notification tables

Frontend

  • New Settings page for Notification Channels management
  • Support for creating/editing/deleting channels
  • Test notification functionality
  • Unit tests for the settings page

Test plan

  • Verify notification channels CRUD operations work
  • Test sending notifications via each channel type (email, slack, webhook)
  • Verify modal dialogs display correctly with solid backgrounds
  • Run frontend tests: npm test
  • Run backend tests: pytest

Add external notification delivery system with:
- Email notifications via SMTP
- Slack notifications via incoming webhooks
- Generic webhook notifications via HTTP POST

Features:
- Encrypted storage for sensitive config (passwords, webhook URLs)
- Per-channel filtering by severity and notification type
- Async delivery via Celery with retry logic (3 attempts, exponential backoff)
- Delivery tracking with status and error messages
- REST API for channel CRUD and test endpoint
- Database migration for notification_channels and notification_deliveries tables

Also adds worker_session_factory with NullPool for Celery task database connections.
Add frontend UI for managing notification channels (email, slack, webhook):
- NotificationChannelsPage component with create/edit/delete functionality
- API hooks for notification channel CRUD operations
- TypeScript types for notification channel entities
- Route and sidebar navigation entry
Replace transparent glass effect with solid modal-solid class
to improve readability of modal content across all settings pages
and shared components.
@leonmeijer leonmeijer merged commit 189c417 into leonmeijer:main Jan 19, 2026
2 checks 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.

2 participants