elementary / notifications

Gtk Notifications Server
https://elementary.io
GNU General Public License v3.0
38 stars 6 forks source link

DnD is ignored on Hera 5.1 #62

Closed marbetschar closed 4 years ago

marbetschar commented 4 years ago

Prerequisites

Describe the bug

All notifications seem to bypass do not disturb: elementary Mail, Signal and Slack - all notifications of them seem to be delivered despite the fact do not disturb is enabled.

To Reproduce

I use elementary Hera 5.1 stable and I installed this new notification server by compiling it from master. Did the same for gala as well and then set use-new-notifications to true.

Then I tested whether URGENT notifications bypass do not disturb or not for my Time Limit app. That worked as intended: URGENT notifications do bypass do not disturb. However, as described now all notifications seem to bypass do not disturb.

Expected behavior

Notifications with priority URGENT should bypass do not disturb, while others shouldn't.

Screenshots or screen recordings

Screenshot from 2020-03-01 12-34-09

danirabbit commented 4 years ago

Are you also using the notifications indicator and/or switchboard plug from master? The new notification server doesn't use the old gala settings keys, so it won't be affected by toggling those

marbetschar commented 4 years ago

makes sense ... altough I just installed switchboard-plug-notifications and wingpanel-indicator-notifications from master. Unfortunately notifications are still shown in DnD and look like this:

Screenshot from 2020-03-03 17-50-04

Is this also due to missing more dependencies?

marbetschar commented 4 years ago

FWIW: If it's too troublesome to get this running, I'll happily revert back to the stable packages. What do you think?

Would just have been nice to get the Time Limit app working in DnD as I use it quite often - but it's not mission critical.

danirabbit commented 4 years ago

@marbetschar I'm not sure what's going on there. It looks like maybe the notification server isn't running and this is some kind of built in fallback with GLib? Can you confirm that io.elementary.notifications is running?

marbetschar commented 4 years ago

@danrabbit good catch. It's indeed not running - although use-new-notifications is still set to true. I started it manually using io.elementary.notifications & and it logged the following to the Terminal (also tried reboot, no change):

** (io.elementary.notifications:5946): WARNING **: 18:23:25.454: Application.vala:46: Could not aquire bus org.freedesktop.Notifications
worldofpeace commented 4 years ago

I'm using this in NixOS 20.09 pre git with https://github.com/elementary/switchboard-plug-notifications/releases/tag/2.1.6 https://github.com/elementary/wingpanel-indicator-notifications/releases/tag/2.1.4. I can confirm that this is running. I also have the patch in session-settings that overrides use-new-notifications to true.

Doing:

notify-send -u low Hey Hey

I see a notification. The -u low makes it low urgency.

I am using notifications at 22cdbd3b9c9f7c916c58a9c7b1ca74762ff62021.

worldofpeace commented 4 years ago

I have found the bug. It is likely NixOS specific.

The code in wingpanel-indicator-notfications has the recursive boolean set to false https://github.com/elementary/wingpanel-indicator-notifications/blob/d9bff149e1a38ec2aa30522f92bb47b39f19b6a2/src/Indicator.vala#L48. In NixOS we don't install gsettings-schemas globally, so XDG_DATA_DIRS has multiple entries to /nix/store paths.

Reading the docs

The returned source may actually consist of multiple schema sources from different directories, depending on which directories were given in `XDG_DATA_DIRS` and `GSETTINGS_SCHEMA_DIR`. For this reason, all lookups performed against the default source should probably be done recursively.

By making recursive true, and adding some debug code, I can see clearly that this fixes the issue for me.

danirabbit commented 4 years ago

Closing since this should be resolved in the notifications indicator