feat(notifications): bundle server patch and Traefik notifications per team#9473
Closed
jstet wants to merge 2 commits intocoollabsio:nextfrom
Closed
feat(notifications): bundle server patch and Traefik notifications per team#9473jstet wants to merge 2 commits intocoollabsio:nextfrom
jstet wants to merge 2 commits intocoollabsio:nextfrom
Conversation
…r team Instead of sending one notification per server for patch checks and Traefik version updates, notifications can now be bundled into a single message per team listing all affected servers. Bundling is configurable per event type (patch vs Traefik), per notification channel (Email, Discord, Slack, Telegram, Pushover, Webhook), per team — disabled by default. Uses Bus::batch with allowFailures() + finally() to coordinate per-server jobs and dispatch a summary notification after all checks complete. Includes race-safe scoped data clearing, Traefik notification deduplication via checked_at/notified_at, and batch table pruning. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
|
This PR did not pass quality checks so it will be closed. If you believe this is a mistake please let us know. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Bus::batchwithallowFailures()+finally()to coordinate per-server check jobs and dispatch a summary notification once all checks completechecked_at/notified_attimestamps,WithoutOverlappingcompatibility withreleaseAfter(60), andqueue:prune-batchesscheduled dailyIssues
Bus::batch, per-channel settings, or race condition protection)Category
AI Assistance
If AI was used:
Testing
48 tests, 156 assertions — all passing. Covers:
Notification::assertSentTo(summary jobs actually dispatch notifications to correct teams)Manual verification: UI toggle visible and functional at Notifications > [channel] > Server section.
Contributor Agreement
Important