Repository navigation
Signal Desktop's tray icon never appears #8034
Description
Using a supported version?
- I have searched open and closed issues for duplicates.
- I am using Signal-Desktop as provided by the Signal team, not a 3rd-party package.
Overall summary
Bug description
On Linux with XFCE (using ayatana-indicator-application-service as the org.kde.StatusNotifierWatcher), Signal Desktop's tray icon never appears, even though RegisterStatusNotifierItem succeeds and the watcher successfully calls GetAll on org.kde.StatusNotifierItem.
Inspecting the D-Bus traffic with dbus-monitor, the GetAll reply for org.kde.StatusNotifierItem is missing the Id property entirely (also missing: IconName, IconThemePath, Menu, ItemIsMenu). Per the StatusNotifierItem specification, Id is a required property used by watchers to identify/track the item. Immediately after receiving the (incomplete) property set, the Ayatana watcher removes its D-Bus match rules for the item and never displays it — consistent with the watcher silently discarding an item it considers invalid.
Steps to reproduce
killall signal-desktopdbus-monitor --session > /tmp/sni.log &signal-desktop --no-sandbox --use-tray-icon- Inspect
/tmp/sni.logfor theGetAllreply on interfaceorg.kde.StatusNotifierItem, path/org/chromium/StatusNotifierItem/1
Expected result
Tray icon appears in any spec-compliant StatusNotifierWatcher implementation (Ayatana, KDE, etc.).
Actual result
RegisterStatusNotifierItem succeeds, GetAll returns a property set without Id (and without IconName/Menu), no icon appears in the tray. Confirmed the item is never returned by org.kde.StatusNotifierWatcher.RegisteredStatusNotifierItems after registration.
Relevant GetAll reply
method return ... reply_serial=680 array [ dict entry( string "AttentionIconName" variant string "" ) dict entry( string "AttentionIconPixmap" variant array [ ] ) dict entry( string "AttentionMovieName" variant string "" ) dict entry( string "Category" variant string "ApplicationStatus" ) dict entry( string "IconPixmap" variant array [ struct { int32 16 int32 16 array of bytes [...] } ] ) dict entry( string "OverlayIconPixmap" variant array [ ] ) dict entry( string "Status" variant string "Active" ) dict entry( string "Title" variant string "" ) dict entry( string "ToolTip" variant struct { string "" array [ ] string "Signal Desktop" string "" } ) dict entry( string "WindowId" variant int32 0 )
Screenshots
No response
Signal version
8.27.0
Operating system
Xubuntu 24.04.5 LTS
Version of Signal on your phone
8.26.4
Link to debug log
No response
Activity
Z-Brox commentedon Sep 21, 2026
Same here. I'm using the Signal Desktop app since May and have never been able to get the tray icon to show up.
Systems: Debian 13 with XFCE, another PC with Cinnamon (both from Debian's repo), Signal Desktop version 8.27.0 from Signal's repo.
Z-Brox commentedon Sep 21, 2026
Ooooookay - now it works (at least on my System with XFCE). After several attempts with activating/deactivating the switch for minimizing to tray in the preferences, which did nothing, I started the program in the command line with "--start-in-tray" and now it works.
Now I can start Signal without said option and set the tray-switches in the prefs and they work.
O-Gopal commentedon Sep 23, 2026
Same problem here with Signal 8.27.0 on Fedora Linux 44 using GNOME (Wayland), installed from Flatpak, with the GNOME extension "AppIndicator and KStatusNotifierItem Support" installed. The Signal tray icon used to show fine, but stopped showing after an update within the last month or so.
Starting from CLI with --start-in-tray doesn't start in tray. Reinstalling has no effect. Adding socket "D-Bus session bus" in Flatseal has no effect. Closed bug #7992 may be related.
MartyTheWeekendWarrior commentedon Sep 25, 2026
I also started experiencing the same problem, in that the Signal Desktop's tray icon stopped appearing a few updates back.
I'm running the official Signal snap in XFCE under XUbuntu.
These are the error messages I get when starting Signal from a CLI:
$ signal-desktop --start-in-tray --trace-deprecation NODE_ENV production NODE_CONFIG_DIR /snap/signal-desktop/929/opt/Signal/resources/app.asar/config NODE_CONFIG {} ALLOW_CONFIG_MUTATIONS undefined HOSTNAME XXX NODE_APP_INSTANCE undefined SUPPRESS_NO_CONFIG_WARNING undefined SIGNAL_ENABLE_HTTP undefined userData: /home/user/snap/signal-desktop/929/.config/Signal (node:69585) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated. at asarStatsToFsStats (node:electron/js2c/node_init:2:1791) at Object.lstat (node:electron/js2c/node_init:2:5304) at LOOP (node:fs:2938:15) at process.processTicksAndRejections (node:internal/process/task_queues:85:11) [69585:0925/104144.557618:ERROR:dbus/object_proxy.cc:572] Failed to call method: org.freedesktop.login1.Manager.Inhibit: object_path= /org/freedesktop/login1: org.freedesktop.DBus.Error.AccessDenied: An AppArmor policy prevents this sender from sending this message to this recipient; type="method_call", sender=":1.641" (uid=1000 pid=69585 comm="/snap/signal-desktop/929/opt/Signal/signal-desktop" label="snap.signal-desktop.signal-desktop (enforce)") interface="org.freedesktop.login1.Manager" member="Inhibit" error name="(unset)" requested_reply="0" destination="org.freedesktop.login1" (uid=0 pid=1883 comm="/lib/systemd/systemd-logind " label="unconfined") (node:69756) [DEP0169] DeprecationWarning:url.parse()behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued forurl.parse()vulnerabilities. (Useexe --trace-deprecation ...to show where the warning was created) (node:69756) [node-fetch#buffer] DeprecationWarning: Please use 'response.arrayBuffer()' instead of 'response.buffer()'I'm running the following versions:
Signal Desktop version: 8.22.0 production
$ xfce4-about --version
xfce4-about 4.16.1 (Xfce 4.16)
$ uname -a
Linux XXX 5.15.0-191-generic #201-Ubuntu SMP Fri Aug 7 18:39:04 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
Codename: jammy
yookoala commentedon Sep 30, 2026
I am on Fedora 44 (GNOME 50) and using Signal Desktop 8.28.0 with Flatpak.
I have been using it for very long. And I almost never saw the tray icon. I've tried suggestion to allow Signal Desktop to use "DBus session bus" in Flatseal. And still no system tray is shown.
mmattel commentedon Oct 1, 2026
The issue relies in the electron version used (44.0 included in Signal up to 8.28.0 (current at the time of writing)).
With electron 44.1+ this is gone see this link.
When reading the merged PRs, a newer electron version is already merged, at the time of writing 44.2, but no updated Signal build has been provided that includes this electron version.
To the repo maintainers, please create a patch release with the updated and already merged electron version that fixes this nasty bug.