Bug 440837

Summary: Leaving Do Not Disturb mode causes all the notifications that were suppressed to pop up on screen
Product: [Plasma] plasmashell Reporter: Nate Graham <nate>
Component: NotificationsAssignee: Kai Uwe Broulik <kde>
Status: CONFIRMED ---    
Severity: normal CC: agurenko, dashonwwIII, olib141, plasma-bugs, postix, qydwhotmail
Priority: HI Keywords: usability
Version: master   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=441906
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Nate Graham 2021-08-10 14:55:17 UTC
STEPS TO REPRODUCE
1. Open a chat client and navigate to a chatty chatroom like the VDG room
2. Enter Do Not Disturb mode
3. Wait 15 minutes
4. Leave Do Not Disturb mode


OBSERVED RESULT
A flood of on-screen notifications ensues, causing the right-hand side of the screen to be full of rapidly scrolling and disappearing notifications for the next minute.


EXPECTED RESULT
Nothing happens; I don't need to see all of the notifications I missed. I missed them on purpose; that's why I entered Do Not Disturb mode.

I could *maybe* see the case for showing these notifications in the history popup (if they are marked as appearing in the history view), but putting them all on screen seems quite noisy and excessive to me.
Comment 1 Bug Janitor Service 2022-03-14 15:20:36 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1565
Comment 2 Fushan Wen 2022-03-16 07:39:13 UTC
Git commit b8b722ba194d5cba15f5d08d6ea2774982888203 by Fushan Wen.
Committed on 16/03/2022 at 07:36.
Pushed by fusionfuture into branch 'master'.

libnotificationmanager: Expire all notifications when "Do not disturb" is on

After leaving "Do not disturb" mode, a flood of on-screen notifications
ensues, causing the right-hand side of the screen to be full of rapidly
scrolling and disappearing notifications for the next minute.

The user doesn't need to see any notification popup that is suppressed
by DnD mode, because the notification can be viewed from the drawer anyway.
FIXED-IN: 5.25

M  +14   -2    libnotificationmanager/abstractnotificationsmodel.cpp
M  +1    -0    libnotificationmanager/abstractnotificationsmodel.h
M  +1    -0    libnotificationmanager/abstractnotificationsmodel_p.h
M  +3    -0    libnotificationmanager/notificationsmodel.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/b8b722ba194d5cba15f5d08d6ea2774982888203
Comment 3 Bug Janitor Service 2022-09-10 15:22:37 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2099
Comment 4 Nate Graham 2022-09-12 21:07:01 UTC
Git commit a38fbf4884606772177d9175768332aa9871af77 by Nate Graham, on behalf of Fushan Wen.
Committed on 12/09/2022 at 20:47.
Pushed by ngraham into branch 'master'.

Revert "libnotificationmanager: Expire all notifications when "Do not disturb" is on"

This reverts commit b8b722ba194d5cba15f5d08d6ea2774982888203.

This breaks the whitelist.

M  +2    -14   libnotificationmanager/abstractnotificationsmodel.cpp
M  +0    -1    libnotificationmanager/abstractnotificationsmodel.h
M  +0    -1    libnotificationmanager/abstractnotificationsmodel_p.h
M  +0    -3    libnotificationmanager/notificationsmodel.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/a38fbf4884606772177d9175768332aa9871af77
Comment 5 Nate Graham 2022-09-12 21:08:06 UTC
We had to revert the fix as it broke the "Show in do not disturb mode" feature. We will have to find another way.
Comment 6 Oliver Beard 2023-02-05 18:26:50 UTC
From a user perspective, I would suggest holding all the unread notifications during 'Do Not Disturb' into the applet, and once 'Do Not Disturb' expires, sending a notification with 'X Unread Notifications', and an action to open the applet to show these unread notifications.
Comment 7 Nate Graham 2023-02-06 16:40:36 UTC
Yeah, that makes sense to me!