mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-08-01 19:18:28 -04:00
fix(notifications): dismiss popups when senders close notifications (#2815)
When a sender calls CloseNotification (per freedesktop spec) for a persistent notification (expire-timeout=0), the onDropped handler removed the wrapper from internal arrays but did not dismiss the visible popup. The popup remained on screen forever for non-critical notifications like YubiKey touch prompts. Set wrapper.popup=false in onDropped so the popup exits via the normal signal chain. This is minimal; it does not change timeout handling, queue management, or the isPersistent marker. Also reverts the previous workaround that special-cased non-critical expireTimeout=0 to use DMS timeout. Upstream spec-correct behavior is to honor the sender timeout, and fix the dismissal bug instead. Closes #2814
This commit is contained in:
@@ -892,6 +892,11 @@ Singleton {
|
||||
return;
|
||||
}
|
||||
|
||||
// Dismiss visible popup when sender closes the notification
|
||||
// (e.g. YubiKey sends CloseNotification after touch).
|
||||
// Without this, expireTimeout=0 popups stay visible forever.
|
||||
wrapper.popup = false;
|
||||
|
||||
const groupKey = getGroupKey(wrapper);
|
||||
const remainingInGroup = root.notifications.filter(n => getGroupKey(n) === groupKey);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user