Request - Notification settings on schedule
- Dominant language
- Go
- Stars
- 9.2k
- Forks
- 1.3k
- Avg merge
- 12h 58m
- Merged PRs (30d)
- 56
Description
The current all-or-nothing nature of per-channel notification settings has the unfortunate effect of trending towards complete silence. This strikes a blow against the utility of Keybase in a business environment - leading to unnecessarily prolonged response times during office hours because people would rather not get notifications from work channels during their off- hours/days.
Essentially what I am requesting to solve this is an implementation of something akin to the timed do not disturb mode of apple platforms - tweaked for the work & private combined nature of Keybase accounts.
My suggestion for implementation would be a tag system - probably exposed in UI/API as "notification groups" or something like that. For such a named group you should be able to define:
- The behaviour on mobile vs. desktop.
- The "mute all notifications" toggle.
- A schedule for silence.
- All days from 2000 - 0600.
- Friday - Monday from 1500 - 0600.
- Whatever similar combo.
Generally:
- All of this is of-course defined per-user.
- Out of the box a single "Default" notification group would be defined as never silent - configurable like any custom group.
- Each channel has a notification group associated.
- Each new channel is associated with "Default" or a per-team associated override.
- On a per-group basis it should be possible to mute/unmute for a period of time (probably just reusing the steps from exploding chat messages). The target experience here being similar to the "silence for an hour / until tomorrow" functions of the fruit company DND features.
Example groups I would personally define:
- Default (silent by default).
- Private (silent in office hours).
- Private critical (never silent).
- Work (silent out of office).
- Work critical (never silent).
But that's me and the core idea is that this should be more customizable per-user. Keybase is merging a lot of tools and contexts together - it should embrace something like this in order to properly fit in the spot it is making for itself.
Contributor guide
No contributing guide indexed for this repository
Research direction
No files, tests, or entry points are identified in the issue, so begin by locating the existing per-channel notification settings and their mobile and desktop implementations. Done would require agreed behavior for notification groups, recurring schedules, temporary muting, defaults, and per-user channel assignment across the described clients.
Written by the indexing model from the issue text.
Assessment
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100