Rocket.Chat icon indicating copy to clipboard operation
Rocket.Chat copied to clipboard

Provides "Do Not Disturb" and "Snooze Notifications"

Open lindoelio opened this issue 7 years ago • 40 comments

@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 image

Setting "Do Not Disturb" and "Snooze Notifications" on Channel Level image

image

image

image

lindoelio avatar Nov 07 '17 10:11 lindoelio

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

sampaiodiego avatar Nov 07 '17 11:11 sampaiodiego

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?

rodrigok avatar Nov 07 '17 13:11 rodrigok

Question - what timezone are the times set in? Are they UTC or the user's timezone?

graywolf336 avatar Nov 07 '17 16:11 graywolf336

@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!

lindoelio avatar Nov 07 '17 23:11 lindoelio

Closing for a while... Working on how long to stay "do not disturb" feature, as suggested.

lindoelio avatar Nov 13 '17 11:11 lindoelio

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 image

... On Channel/Room Level image

image

lindoelio avatar Nov 14 '17 09:11 lindoelio

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.

erlend-sh avatar Nov 30 '17 12:11 erlend-sh

any ETA when this will be merged to stable?

horstepipe avatar Mar 17 '18 08:03 horstepipe

@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 avatar Apr 19 '18 18:04 graywolf336

@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 avatar Apr 19 '18 20:04 theorenck

@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.

graywolf336 avatar Apr 19 '18 21:04 graywolf336

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!

Chris-Duke avatar Apr 25 '18 21:04 Chris-Duke

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.

tigitz avatar Jul 26 '18 08:07 tigitz

+1

wreiske avatar Oct 17 '18 15:10 wreiske

Is there any movement on this? This is a really crucial feature for multiple-timezone users.

krispayne avatar Oct 19 '18 18:10 krispayne

Would love to see this implemented!

dcorrigangoempyrean avatar Nov 26 '18 19:11 dcorrigangoempyrean

Any update on when this will hit the prod branch?

jyork2003 avatar Feb 21 '19 17:02 jyork2003

Is there a chance of this getting merged? Would love an update!

ghost avatar Apr 08 '19 11:04 ghost

@tassoevan I think we're waiting on you to get this approved? I apologize if I'm misreading github.

joshmartindev avatar Apr 30 '19 15:04 joshmartindev

@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 avatar Jun 04 '19 10:06 AlexanderBartash

@AlexanderBartash You can rebase this PR that would solve merge conflicts.

zdumitru avatar Jun 04 '19 10:06 zdumitru

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.

AlexanderBartash avatar Jun 04 '19 18:06 AlexanderBartash

Hey, guys! I can help move this forward.

@sampaiodiego @rodrigok There are any additional information or requirements about this merge?

lindoelio avatar Jun 04 '19 18:06 lindoelio

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

sampaiodiego avatar Jun 05 '19 12:06 sampaiodiego

Hello, Is there any chance to have it merged? It's one of most important features which are not implemented.

dusatvoj avatar Jun 29 '19 00:06 dusatvoj

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!!!

marianotribuj avatar Jul 01 '19 11:07 marianotribuj

@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!

AlexanderBartash avatar Jul 01 '19 11:07 AlexanderBartash

I think the name "Snooze Notifications" is wrong for that feature, we should use "Mute".

engelgabriel avatar Sep 04 '19 13:09 engelgabriel

Some considerations to refresh this pull request:

  1. sendNotificationsOnMessage was deeply modified, specially the afterSaveMessage callback;
  2. pushNotificationsFlexTab layout changed a lot, so we need a design review comparing older and newer versions;
  3. Other conflicts have easy resolutions.

tassoevan avatar Oct 22 '19 21:10 tassoevan

Please, please figure out how to get this PR merged. DING DING DING.

pjv avatar Dec 26 '19 17:12 pjv