-
Notifications
You must be signed in to change notification settings - Fork 382
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSC2673: Notification Levels #2673
base: old_master
Are you sure you want to change the base?
Conversation
Another feature this proposal makes possible is to quickly switch between "normal" and "work" profiles. Perhaps you set the notification settings in a way where you only receive notifications from some work-related rooms when a device is using the "work" profile |
- 2: Increase notification count | ||
- 4: Show notification | ||
- 6: Play notification sound | ||
- 8: Highlight message |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can see a potential issue here. For example, you might want mentions in a public channel to be highlighted but not cause any sounds or show any notifications (eg. when you do a lot of IRC support), but inversely you probably want PMs to cause a notification + sound but not highlight the message (since the entire chat would show up highlighted).
Basically, I'm not convinced that "highlight message" exists on a linear spectrum with notification intensity. Unlike eg. sounds or shown notifications, it is something that is done to the display afterwards, not something that grabs your attention in the moment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is mentioned under the "Problems" section, but yes, this is my main concern as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can get around this completely by defining what actions can be taken and assigning a true or false value to each. These values would still be represented by a single number however. This number would work the same way binary numbers work. Convert the base 10 number into base 2 then use 1s and 0s as flags for each notification action. For example, the numbers 1-255 give you 8 possible "switches" each can be toggled independently. This makes it possible to easily extend this in the future to enable more complex/future types of notification actions. An implementation note, do not decode this number into a static amount of variables. This will cause issues when new types are added.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we need to encode them into an integer bitmap but I do like the idea of a bunch of booleans rather than a linear list however it is encoded.
by additional fields in the NotificationRule objects, where the higher | ||
`up_to` means higher priority. | ||
|
||
- Same problems as with power levels. It's impossible to take away actions as |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there is another issue which is highlighted by a comparison with power levels:
Basically, (most) people would find a level-based system confusing and hard to use: the two dimensions of control (1. map events onto levels; 2. map levels onto actions) simply don't map onto the way people think. For power levels, we've solved this by giving magic names to some of the levels - "default", "moderator", "admin" - which helps people relate the number to something more concrete. but it's not obvious we can do the same thing here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's possible to create good UI for this using sliders.
Normal: C___N___S___H___
Work: ___C___N___S___H
Mentions: #################
Displayname: #########--------
DMs: #########--------
Cool Groups: #####------------
Spammy Groups: ####]
Ignored Users: ]
// Letters: Notification profile (C: Notification Count, N: Show notification, S: Play Sound, H: Highlight)
// '#' before up_to
// '-' between up_to and max
// ']' max
// ' ' over max
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
interesting, though I'm still concerned it wouldn't be something that first-time users could understand easily
I would suggest that notification settings for a space should propagate to each room contained within unless explicitly overridden. If a room or space exists in more than one space, the "noisiest" setting should take precedence. |
Rendered