Revamp how we handle notification setting
I cannot find where I talked about this before, so quoting @smcgivern from https://gitlab.com/gitlab-org/gitlab-ce/issues/24845#note_18860457
- Custom should be above or alongside the watch level, not below it.
- The custom notification levels should not be a JSON field, but actual columns.
- For instance: imagine how much it would suck if we had a notification type that was EE-only.
- Once we have those two, the subscribing / watch / etc. distinction can just be presets. That makes it easy to find if someone should receive a notification - do they have a
NotificationSettingwith the column set to
- If the watch level is a preset, then it doesn't have to mean everything. We could integrate emails on push (#13815 (moved)) and pipeline emails elegantly, by making them opt-in only. And we could even add an everything-I-mean-it-I-really-mean-it level if we wanted.
I'll add relevant discussion here when I found them.
Issues blocked by this: