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
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.
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.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1565
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.
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
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2099
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
We had to revert the fix as it broke the "Show in do not disturb mode" feature. We will have to find another way.
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.
Yeah, that makes sense to me!