feat: add user specific notification settings
Hey, I just made a Pull Request!
The settings can be customized for each origin and each processor individually. The default Web indicates notifications shown in the Backstage UI. By default, if there are no settings saved in the database, all notifications are enabled for all processors.
The origins will populate by time for each user as they receive the first notification from that origin. Processors are shown as their own columns.
Later, if it makes sense, allow users to also disable/enable notifications based on notification topic.
:heavy_check_mark: Checklist
Changed Packages
| Package Name | Package Path | Changeset Bump | Current Version |
|---|---|---|---|
| example-app | packages/app | none | v0.2.102 |
| example-backend | packages/backend | none | v0.0.31 |
| @backstage/plugin-notifications-backend | plugins/notifications-backend | patch | v0.4.1 |
| @backstage/plugin-notifications-common | plugins/notifications-common | patch | v0.0.5 |
| @backstage/plugin-notifications | plugins/notifications | patch | v0.3.2 |
| @backstage/plugin-scaffolder-backend | plugins/scaffolder-backend | patch | v1.26.0 |
I have no code-wise comments, just the naming.
I would avoid using channel for processors (more or less). My motivation is in increasing readability for future contributors. @drodil , wdyt?
In case I am the only one, I will not block merging this. It lgtm otherwise.
@mareklibra I would prefer channel over processor as the Web is not a processor (though it could have been if we had gone that way). Later we probably need to extend this to some global settings and also include topics but that can be done later as this is on enough level for the work. @Rugvip any comments from your side?
This probably still waiting for @Rugvip to get back, but otherwise, I rebased and fixed the merge conflicts so this is ready for review+merge!
Any chance to get this included in the upcoming release?
I have no more comments except the naming. Let's not block the feature just on that.
This PR has been automatically marked as stale because it has not had recent activity from the author. It will be closed if no further activity occurs. If the PR was closed and you want it re-opened, let us know and we'll re-open the PR so that you can continue the contribution!
Not stale, needs a rebase though. @Rugvip any chance to get this forward?
This PR has been automatically marked as stale because it has not had recent activity from the author. It will be closed if no further activity occurs. If the PR was closed and you want it re-opened, let us know and we'll re-open the PR so that you can continue the contribution!
Not stale, waiting for final review & merge
There are no additional comments so far. @drodil If you rebase it, I will merge it.
@mareklibra ok, rebased though the Verify Docs Quality job fails due to missing python. Not related failure though.
Re-run helped.
Seems I do not have all privileges to merge it. Cc @benjdlambert @freben
Thank you for contributing to Backstage! The changes in this pull request will be part of the 1.33.0 release, scheduled for Tue, 19 Nov 2024.