-
-
Notifications
You must be signed in to change notification settings - Fork 0
Open
2 / 22 of 2 issues completedOpen
2 / 22 of 2 issues completed
Copy link
Labels
backendServer-side codeServer-side codedatabaseDatabase-relatedDatabase-relatedfrontendUI/UX codeUI/UX codesecuritySecurity-relatedSecurity-related
Description
Summary
Shoutrrr is unmaintained. Track the phased migration to github.com/nikoksr/notify (v1.5.0) using the approved implementation spec in docs/plans/current_spec.md.
Foundation QoL requirement (PR-1)
Security notification setup must be centralized in standard Notification settings.
- Remove duplicate editable setup surfaces that currently split configuration across Security and Notifications.
- Keep legacy behavior backward compatible for existing settings.
- Security dashboard path should be deprecated/non-editable and direct users to Notifications settings.
Important constraint update
Gotify is not treated as notify-native in this migration.
- Discord remains notify-based (first service rollout).
- Gotify (second rollout) is integrated via the existing Gotify CLI instead of a notify adapter.
- PR-3 includes CLI installation/runtime validation and secure command execution constraints.
Goals
- Replace transport engine without breaking persisted notification providers.
- Deliver in multiple small, reversible PRs.
- Gate each service release behind tests + feature flags.
- Reduce user confusion by having a single canonical notification setup location.
Service rollout order
- Discord (notify-based)
- Gotify (CLI-based)
- Remaining services (no strict order)
PR slicing (high-level)
- PR-1: Foundation migration (dual-engine scaffold, compatibility, feature flags, additive API/model prep, and Security→Notifications setup consolidation; no forced service switch)
- PR-2: Discord implementation (notify) + UI + unit/E2E tests
- PR-3: Gotify implementation (CLI) + template normalization/fixes + unit/E2E tests
- PR-4+: Remaining services in small batches
Release controls
- Feature flags per engine/service.
- Backward compatibility and fallback remain enabled until parity is achieved.
- Rollback is service-level via flag disablement.
Tracking checklist
- PR-1 foundation merged (including setup centralization QoL change)
- Security dashboard no longer presents duplicate editable notification setup
- Discord slice merged and validated (unit + E2E)
- Gotify CLI slice merged and validated (unit + E2E)
- Additional service slices planned and tracked
- Deprecation plan for legacy Shoutrrr path published
Validation gates per slice
- Playwright targeted notification flows
- Local patch report artifacts generated
- Backend/frontend coverage checks
- CodeQL + Trivy + Go vuln check
- GORM security scan when model/database files are touched
All Services
- Amazon SES
- Amazon SNS
- Bark
- DingTalk
- Discord
- Firebase Cloud Messaging
- Google Chat
- HTTP
- Lark
- Line
- Line Notify
- Mailgun
- Matrix
- Microsoft Teams
- PagerDuty
- Plivo
- Pushover
- Pushbullet
- RocketChat
- SendGrid
- Slack
- Syslog
- Telegram
- TextMagic
- Twilio
- Viber
- Webpush Notification
Spec reference
docs/plans/current_spec.md
Notes
This issue is for migration orchestration and phase tracking. Detailed design, risks, rollback triggers, and acceptance criteria are maintained in the spec.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
backendServer-side codeServer-side codedatabaseDatabase-relatedDatabase-relatedfrontendUI/UX codeUI/UX codesecuritySecurity-relatedSecurity-related
Projects
Status
In Progress