Rocket.Chat
Rocket.Chat copied to clipboard
Provides "Do Not Disturb" and "Snooze Notifications"
@RocketChat/core
Closes #6609 Closes #2143 Closes #6418
Provides ability to mute notifications for a time period ("do not disturb" and "snooze notifications") covering both features either on "application level" (for any notifications from all chat subscriptions) or on "channel/room level" (include direct messages subscriptions).
"Do Not Disturb" and "Snooze Notifications" on application level are options available on user's notifications/messages preferences (snoozing all notifications addressed to user, from whatever subscriptions). In addition, this features also can "do not disturb" and/or "snooze notifications" on specific channels (and also shall be combined with behavior defined for "application level").
Setting "Do Not Disturb" and "Snooze Notifications" on Application Level
Setting "Do Not Disturb" and "Snooze Notifications" on Channel Level
I think the "Do Not Disturb" feature makes more sense on application level (instead of room level). Let's say I'm using Rocket.Chat for work, so I would like to not be disturbed in any room on whole server, and not have to set the same thing on each channel I'm in.
the snooze feature I can see using both application and room levels. but having per room I think it's ok =)
awesome features btw.. thank you
I agree with @sampaiodiego do not disturb
should be an application level and ask user how long to stay (like the snooze but with one option forever
, that eliminates the snooze option)
The same could be made to the room level, but we should call it as mute
where you could mute for a certain period of time or forever, like whatsapp does
What do you think?
Question - what timezone are the times set in? Are they UTC or the user's timezone?
@sampaiodiego and @rodrigok I should explain better about this features; I will do this on PR description for better comprehension from all guys.
In true, this current PR already covers both features either on "application level" or "channel/room level". So, "Do Not Disturb" feature already works for mute any notifications on a Rocket.Chat instance for that user (who can setup this on yours Notifications/Messagens preferences - that come off by default), besides works also on channel level granularity (combined with user settings for "application level" at the same time). It's exactly what you think that it should be :-)
"Do Not Disturb" and "Snooze Notifications" features also works fine together with implements already merged for mute/hide notifications on our current release, in both granularity level (global/application and channels/rooms).
@graywolf336 It shall set the user's timezone. In this case, moment works on instance's server side for set and get.
I'm waiting for your heavy code review :-P I (and a lot of people on our community) would love see this merged soon!
Thanks for your feedback!
Closing for a while... Working on how long to stay "do not disturb" feature, as suggested.
Reopen \o/
Now, "do not disturb" feature ask user how long to stay, either on application or channel/room level, like whatsapp does, as suggested by @rodrigok .
... On Application Level
... On Channel/Room Level
The Discourse team is evaluating a move from Slack to Rocket.Chat and Do Not Disturb is a major selling point. We're distributed all over the world, so notifications are literally coming in 24/7. Without DND we simply can't enable notifications whatsoever.
any ETA when this will be merged to stable?
@theorenck for this to make it into the v64 release, which the feature freeze happens after Friday night, then we need someone from the UI team to update this pull request to reflect the new contextual bar.
@graywolf336 the UI team are already fully committed with the issues planned for 0.64.x version. What about reschedule this for the next release?
@theorenck yes, that will work for me. However, let's ensure it is one of the first things that is worked on and then reviewed. As this is a much needed feature for our community, even a deciding factor for some people.
I'm just going to put my thoughts in here even though you've done a lot of work on this already.
I think naturally, if I wanted a DND, the first place I would go is to where I set my status (Available, Busy, Away etc). Could it not be as simple as having an option in there to change a status quickly and easily to DND (potentially without the need to set a time on it) - you can just change your status back to Available when you're less busy and don't want to be disturbed.
Was just a thought!
Hi, I've seen this feature being delayed since March despite major expectations, is there anything that can be done to push it forward ?
I'm not familiar with the labels and couldn't find info on what "board-postponed" means so I might have missed something.
Thanks.
+1
Is there any movement on this? This is a really crucial feature for multiple-timezone users.
Would love to see this implemented!
Any update on when this will hit the prod branch?
Is there a chance of this getting merged? Would love an update!
@tassoevan I think we're waiting on you to get this approved? I apologize if I'm misreading github.
@rodrigok @engelgabriel @sampaiodiego @marceloschmidt Hello guys. What can I do to help merge this? It is a quite important feature when you talk with people in different timezones.
@AlexanderBartash You can rebase this PR that would solve merge conflicts.
Alright. I've tried but looks like the code has changed too much, especially sendNotificationsOnMessage.js has nothing in common between develop and this branch.
Hey, guys! I can help move this forward.
@sampaiodiego @rodrigok There are any additional information or requirements about this merge?
hi @lindoelio .. the conflicts are due to our changes on the codebase, we have moved everything away from packages. most of the changes are detected by git, but some aren't.. in order to help git detecting these file moves I had to run the following git config merge.renameLimit 9999
and then git merge origin/develop
hoping for the best :crossed_fingers:
but before you move forward, let me talk to @rodrigok and see what we can do to help.. thanks
Hello, Is there any chance to have it merged? It's one of most important features which are not implemented.
Hi! What do you think about adding working weekdays? Would it be to difficult to add? For example "only receive notifications Mo-Fr 8am-20pm". @lindoelio would you need some help solving conflicts? Thanks!!!
@rodrigok @engelgabriel @sampaiodiego @marceloschmidt What do you think about collecting money for implementation of specific features like this one? You could use https://opencollective.com for this. Lets let people vote with money!
I think the name "Snooze Notifications" is wrong for that feature, we should use "Mute".
Some considerations to refresh this pull request:
-
sendNotificationsOnMessage
was deeply modified, specially theafterSaveMessage
callback; -
pushNotificationsFlexTab
layout changed a lot, so we need a design review comparing older and newer versions; - Other conflicts have easy resolutions.
Please, please figure out how to get this PR merged. DING DING DING.