Environment
Description
After minimizing the app (which hides the window to tray), clicking the tray icon to restore the window often fails. The issue is intermittent but reproducible.
Investigation shows the D-Bus StatusNotifierItem interface becomes completely unresponsive when this happens — calls to Activate and even basic Ping timeout:
$ gdbus call --session --dest=":1.3349" --object-path="/StatusNotifierItem" \
--method org.kde.StatusNotifierItem.Activate 0 0
Error: Timeout was reached
$ dbus-send --session --dest=":1.3349" --print-reply --reply-timeout=1000 \
/StatusNotifierItem org.freedesktop.DBus.Peer.Ping
Error org.freedesktop.DBus.Error.NoReply: Did not receive a reply.
The tray icon remains visible and registered with the StatusNotifierWatcher, but Notion stops processing D-Bus messages entirely. The right-click context menu also fails to respond.
Steps to reproduce
- Launch notion-electron
- Minimize window (sends to tray via the
hide() call)
- Work in other applications for a few minutes
- Click tray icon to restore — no response
- Right-click tray icon — context menu doesn't appear
Possible cause
Looking at the source code:
index.mjs intercepts minimize and calls mainWindow.hide() instead:
mainWindow.on('minimize', function (event) {
event.preventDefault();
mainWindow.hide();
});
- The app uses a custom D-Bus implementation (
@clebert/node-d-bus) via lib/dbus.mjs rather than Electron's built-in mechanisms.
The D-Bus message processing may be getting blocked or starved when the Electron window is hidden, causing the StatusNotifierItem interface to stop responding to Activate calls from the tray.
Workaround
Currently none — when this occurs, the only option is to kill and restart the application.
Environment
Description
After minimizing the app (which hides the window to tray), clicking the tray icon to restore the window often fails. The issue is intermittent but reproducible.
Investigation shows the D-Bus
StatusNotifierIteminterface becomes completely unresponsive when this happens — calls toActivateand even basicPingtimeout:The tray icon remains visible and registered with the
StatusNotifierWatcher, but Notion stops processing D-Bus messages entirely. The right-click context menu also fails to respond.Steps to reproduce
hide()call)Possible cause
Looking at the source code:
index.mjsintercepts minimize and callsmainWindow.hide()instead:@clebert/node-d-bus) vialib/dbus.mjsrather than Electron's built-in mechanisms.The D-Bus message processing may be getting blocked or starved when the Electron window is hidden, causing the StatusNotifierItem interface to stop responding to
Activatecalls from the tray.Workaround
Currently none — when this occurs, the only option is to kill and restart the application.