Keep notifications usable in history
This patch aims to solve the below bugs by introducing a new prop to the notification object called hasSomeActions
, which as the name implies, is true
if said notification object has any usable actions.
Upon expiry, notification popups that have actions attached to them will be kept "open" in order to preserve functionality within the notification applet (the history), without requiring the "resident" hint to be present.
Said notifications will still be closed/expired properly upon interaction or manual dismissal by the user (either individually or through the cleanup action). Functionality regarding the "resident" hint is untouched. On Wayland, this is achieved through a new prop in the notification server called m_unresolvedNotifications
, which tracks the notification IDs that have pending actions, to prevent them from being prematurely closed before having finished executing their actions.
(I hope this is a sufficient implementation without any adverse effects - I was unable to encounter any in my inspection of the underlying code & my limited testing)