Bug 318295 - large timeouts can be overridden by new notifications with small timeouts
Summary: large timeouts can be overridden by new notifications with small timeouts
Status: RESOLVED UNMAINTAINED
Alias: None
Product: plasma4
Classification: Plasma
Component: notifications (show other bugs)
Version: 4.10.2
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Marco Martin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-13 16:22 UTC by github
Modified: 2018-06-08 19:47 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Shell script displaying issue. (239 bytes, application/x-shellscript)
2013-04-13 22:22 UTC, github
Details
Patch to fix issue (using git format-patch) (2.94 KB, patch)
2013-04-14 00:03 UTC, github
Details
Improved test. (268 bytes, application/x-shellscript)
2013-04-14 00:04 UTC, github
Details
Test showing it accounts for multiple layers of timeout. (337 bytes, application/x-shellscript)
2013-04-14 00:07 UTC, github
Details
Patch for issue (fix whitespace issue with previous patch) (2.94 KB, patch)
2013-04-14 00:13 UTC, github
Details
Patch to fix issue - one more whitespace issue + small cleanup (2.91 KB, patch)
2013-04-14 00:20 UTC, github
Details
Patch to fix issue - simplified timer re-arming. (2.97 KB, patch)
2013-04-14 00:36 UTC, github
Details
Patch to fix issue - remove unneeded Timer.restart call (2.92 KB, patch)
2013-04-14 00:40 UTC, github
Details

Note You need to log in before you can comment on or make changes to this bug.
Description github 2013-04-13 16:22:56 UTC
In short: I think that when each notification reaches its timeout, if there is an existing notification in the stack which has not had it's timeout fulfilled, the display should shift back to showing this notification and the notification display should remain open.

Justification:

Important notifications relating to e-mails/messages from my boss are set to have a timeout of 5000 seconds to ensure that I never miss them. Notifications relating to messages from my personal IM accounts are set to have a low timeout.

Now if my boss messages me, I definitely don't want to miss that message, and the large timeout is great it ensure the notification stays on the screen. However then if a friend messages me the short timeout on his notification causes the notification display to vanish hiding the fact my boss messaged me. If only the display would respect the timeout of all notifications shown (since it was last closed) that would be much better I think!


Reproducible: Always

Steps to Reproduce:
1. Issue notification with timeout of 1000 seconds
2. Wait 1 second
3. Issue notification with timeout of 1 second
4. Wait 1 second
Actual Results:  
Notification disappears 1 second after second notification appears.

Expected Results:  
After 1 second the notification with a timeout of 1000 seconds should be displayed (for the next 997 seconds).
Comment 1 github 2013-04-13 16:32:35 UTC
I'd like to submit a patch to fix this myself if you guys would be so kind as to review and accept my code. Thank you!
Comment 2 github 2013-04-13 17:57:08 UTC
Couldn't get the build system to work in a reasonable amount of time (cmake error messages about strigi include directory) gonna give up on this. Good luck!
Comment 3 github 2013-04-13 22:22:57 UTC
Created attachment 78874 [details]
Shell script displaying issue.
Comment 4 github 2013-04-13 22:37:24 UTC
Worked around my build system issue, almost finished a patch against master/4.10 branches.
Comment 5 github 2013-04-14 00:03:11 UTC
Created attachment 78876 [details]
Patch to fix issue (using git format-patch)

This patch fixes the issue for me, done a bunch of testing. I removed the upper limit you had set of 60 seconds per notification timeout (but kept the lower limit of 4 seconds) as I feel that there are many people who desire to have a higher limit than 60 seconds.
Comment 6 github 2013-04-14 00:04:48 UTC
Created attachment 78877 [details]
Improved test.
Comment 7 github 2013-04-14 00:07:17 UTC
Created attachment 78878 [details]
Test showing it accounts for multiple layers of timeout.
Comment 8 github 2013-04-14 00:13:57 UTC
Created attachment 78879 [details]
Patch for issue (fix whitespace issue with previous patch)
Comment 9 github 2013-04-14 00:20:35 UTC
Created attachment 78880 [details]
Patch to fix issue - one more whitespace issue + small cleanup

Sorry last one I hope!
Comment 10 github 2013-04-14 00:36:07 UTC
Created attachment 78881 [details]
Patch to fix issue - simplified timer re-arming.
Comment 11 github 2013-04-14 00:40:05 UTC
Created attachment 78882 [details]
Patch to fix issue - remove unneeded Timer.restart call
Comment 12 Christoph Feck 2013-04-20 13:08:24 UTC
If this is your final version of the patch, could you please create a review request for group "plasma" on https://git.reviewboard.kde.org/

Developers do not comment on patches added to bugzilla, unless they are trivial one-liners.
Comment 13 github 2013-04-21 23:44:10 UTC
https://git.reviewboard.kde.org/r/110122/
Comment 14 Nate Graham 2018-06-08 19:47:39 UTC
Hello!

This bug report was filed for KDE Plasma 4, which reached end-of-support status in August 2015. KDE Plasma 5's desktop shell has been almost completely rewritten for better performance and usability, so it is likely that this bug is already resolved in Plasma 5.

Accordingly, we hope you understand why we must close this bug report. If the issue described  here is still present in KDE Plasma 5.12 or later, please feel free to open a new ticket in the "plasmashell" product after reading https://community.kde.org/Get_Involved/Bug_Reporting

If you would like to get involved in KDE's bug triaging effort so that future mass bug closes like this are less likely, please read https://community.kde.org/Get_Involved#Bug_Triaging

Thanks for your understanding!

Nate Graham