Signal Desktop (8.25.0-1) tray icon never appears — StatusNotifierItem object goes dead right after registration (Plasma 6.7.4, Wayland)

Hey, running into something I can’t shake and could use a sanity check from anyone who has hit this before.

Signal Desktop (Electron, native SNI implementation, doesn’t use libappindicator at all — checked /proc/<pid>/maps, nothing loaded) starts fine and minimizes to tray as configured, but the tray icon just never shows up. Process is alive, everything works except the icon.

Dug into it with claude, checkedbusctl and here’s what’s happening: Signal creates its DBus object at /StatusNotifierItem and the service name shows up fine in busctl --user list. But it never makes it into org.kde.StatusNotifierWatcher’s RegisteredStatusNotifierItems — auto-registration just doesn’t complete. A working tray applet on the same system registers there without issue, so the watcher itself is fine.

If I force it manually with RegisterStatusNotifierItem, the call succeeds and I get an empty slot in the tray. But trying to read anything off that object right after — even a basic Introspect — comes back completely empty, no interfaces, nothing. So the object seems to die (stop responding) within a fraction of a second of being created, before anything (the tray widget, or even a manual busctl call) can query it.

Ruled out so far: not appindicator (not loaded), not the Wayland/X11 render path (--ozone-platform=x11 changes nothing), not a broken/modified plasma-workspace install (pacman -Qkk clean, reinstalled with --overwrite anyway, no change), no local plasmoid override in ~/.local/share. Restarting plasmashell / rebooting doesn’t help either.

Setup: CachyOS (Arch), Plasma 6.7.4, native Wayland session (never used X11 on this install), Intel Lunar Lake iGPU.

Found what looks like the same failure signature over on the Tauri tray-icon repo (github tauri-apps/tray-icon#336) — different app, different client library (libayatana-appindicator via GTK instead of native Electron SNI), same symptom: item briefly reachable then the DBus object goes empty/unresponsive. Two completely unrelated client stacks hitting the same wall makes me think it’s something on the session side rather than either app.

Anyone seen this or know if it’s already tracked somewhere? Happy to grab more logs/journalctl output if it helps.

Same here on X11. Used to work, stopped working about 2 weeks ago.

I originally clicked “Me too”, but apparently, I no longer have this issue. In fact, I have both Signal and Signal Beta, and they both show the tray icon individually with both launched. This was not the case just a few days ago, and for the past week.

Maybe an update fixed it? Have you both done full updates on your distros?

Yup, did the update today - so sadly, nothing I can update.

Try running Signal from a terminal and look for errors. If you can’t find any, please post the full output here. Someone may be able to spot something.

same issue here. running kubuntu 26.04.

could this be something to do with it?

```
217484:0901/111440.920116:ERROR:ui/ozone/platform/wayland/host/wayland_wp_color_manager.cc:277] Unable to set image transfer function.
[217484:0901/111440.920124:ERROR:ui/ozone/platform/wayland/host/wayland_wp_color_manager.cc:195] Failed to populate image description for color space {primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}
[217484:0901/111441.442806:ERROR:ui/ozone/platform/wayland/host/wayland_wp_color_manager.cc:277] Unable to set image transfer function.
[217484:0901/111441.442815:ERROR:ui/ozone/platform/wayland/host/wayland_wp_color_manager.cc:195] Failed to populate image description for color space {primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}
[217484:0901/111441.442820:ERROR:ui/ozone/platform/wayland/host/wayland_wp_color_management_surface.cc:64] Failed to get image description for color space.
```

Signal log:
> signal-desktop --enable-logging
[22660:0901/082138.516506:WARNING:ui/ozone/platform/wayland/common/drm_render_node_path_finder.cc:111] Preferred drm_render_node not found, picking xe
NODE_ENV production
NODE_CONFIG_DIR /usr/lib/signal-desktop/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME flipciu
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
SIGNAL_ENABLE_HTTP undefined
userData: /home/krondar/.config/Signal
[22660:0901/082138.927766:WARNING:ui/ozone/platform/wayland/common/wayland_object.cc:119] Binding to wl_shm version 1 but version 2 is available.
[22660:0901/082138.927816:WARNING:ui/ozone/platform/wayland/common/wayland_object.cc:119] Binding to zwp_pointer_gestures_v1 version 1 but version 3 is available.
[22660:0901/082138.927854:WARNING:ui/ozone/platform/wayland/common/wayland_object.cc:119] Binding to wp_cursor_shape_manager_v1 version 1 but version 2 is available.
[22660:0901/082138.927879:WARNING:ui/ozone/platform/wayland/common/wayland_object.cc:119] Binding to org_kde_kwin_appmenu_manager version 1 but version 2 is available.
[22660:0901/082138.927941:WARNING:ui/ozone/platform/wayland/common/wayland_object.cc:119] Binding to wp_color_manager_v1 version 1 but version 2 is available.
[22660:0901/082138.927965:WARNING:ui/ozone/platform/wayland/common/wayland_object.cc:119] Binding to zwp_linux_dmabuf_v1 version 4 but version 5 is available.
Fontconfig warning: We will not regenerate the cache because some cache files were generated by a newer version (0x2012001) of Fontconfig. Please regenerate the cache with the latest version of Fontconfig to avoid any unexpected behavio
r. (current version: 0x2011001)
(node:22660) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated.
(Use `signal-desktop --trace-deprecation ...` to show where the warning was created)
[22705:0901/082139.194572:ERROR:ui/ozone/platform/wayland/gpu/wayland_surface_factory.cc:249] '--ozone-platform=wayland' is not compatible with Vulkan. Consider switching to '--ozone-platform=x11' or disabling Vulkan
[22705:0901/082139.205631:WARNING:sandbox/policy/linux/sandbox_linux.cc:405] InitializeSandbox() called with multiple threads in process gpu-process.
[22660:0901/082139.421695:WARNING:ui/ozone/platform/wayland/host/wayland_surface.cc:170] Server doesn't support zcr_alpha_compositing_v1.
[22660:0901/082139.421716:WARNING:ui/ozone/platform/wayland/host/wayland_surface.cc:185] Server doesn't support overlay_prioritizer.
[22660:0901/082139.466063:ERROR:ui/ozone/platform/wayland/host/wayland_wp_color_manager.cc:277] Unable to set image transfer function.
[22660:0901/082139.466082:ERROR:ui/ozone/platform/wayland/host/wayland_wp_color_manager.cc:195] Failed to populate image description for color space {primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}
[22660:0901/082140.160703:INFO:CONSOLE:2] "preload cache hit", source: bundles:///preload/wrapper.js (2)

Nothing that I would connect with the tray. This logs were my starting point yesterday. And as I said in initial post - --ozone-platform=x11 does not change a thing, icon still missing.

@ddnnacheta what exact signal-desktop version are you on now?

@k3tan This issues - they’re about HDR color pipeline, not DBus/tray, I doubt they are related.

Found some interesting stuff here too: signals github: signalapp/Signal-Desktop/issues/7992

and now to complicate even more - version from flatpak org.signal.Signal
8.25.0 - works with tray icon! There is a delay when the icon shows up, but it’s there.
Race condition difference with sandbox? Crap, this is crazy! :smiley:

pacman -Q | rg -i "signal-desktop"
signal-desktop 8.25.0-1
signal-desktop-beta-bin 8.26.0beta.1-1

I’m on an Arch-based distro.

pacman -Q | rg -i “signal-desktop”
signal-desktop 8.25.0-1

Same.

Hmm.

What are the outputs of:

pacman -Q | rg -i "electron|linux|signal-desktop"

and

kinfo

pacman -Q | rg -i "electron|linux|signal-desktop"
archlinux-contrib 20260823-1
archlinux-keyring 1:20260727-1
electron42 42.9.3-1
lib32-util-linux 2.42.2-1
linux-api-headers 1:7.1-1
linux-cachyos 7.2.2-1
linux-cachyos-bore-lto 7.2.2-1
linux-cachyos-bore-lto-fix 7.1.8-1
linux-cachyos-bore-lto-fix-headers 7.1.8-1
linux-cachyos-bore-lto-headers 7.2.2-1
linux-cachyos-headers 7.2.2-1
linux-firmware 1:20260810-2
linux-firmware-amdgpu 1:20260810-2
linux-firmware-atheros 1:20260810-2
linux-firmware-broadcom 1:20260810-2
linux-firmware-cirrus 1:20260810-2
linux-firmware-intel 1:20260810-2
linux-firmware-mediatek 1:20260810-2
linux-firmware-nvidia 1:20260810-2
linux-firmware-other 1:20260810-2
linux-firmware-radeon 1:20260810-2
linux-firmware-realtek 1:20260810-2
linux-firmware-whence 1:20260810-2
signal-desktop 8.25.0-1
util-linux 2.42.2-1.1
util-linux-libs 2.42.2-1.1

kinfo
Operating System: CachyOS Linux
KDE Plasma Version: 6.7.4
KDE Frameworks Version: 6.29.0
Qt Version: 6.11.2
Kernel Version: 7.2.2-1-cachyos-bore-lto (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ Ultra 7 258V
Memory: 32 GiB of RAM (30.8 GiB usable)
Graphics Processor: Intel® Graphics

Ok, it’s not a KDE / Plasma / Electron bug. It’'s a Signal bug.

I did the:
sudo pacman -U /var/cache/pacman/pkg/signal-desktop-8.23.0-*.pkg.tar.zst

to get back to 8.23, as pointed out on Signal’s github: /signalapp/Signal-Desktop/issues/7992 Removed the settings directory (DB difference), reconnected… and that basically fixed the issue. Tray icon is there every time I start Signal.

I hate this lack of last message edit due to timeout :confused:

Final update, for anyone else landing here from search:

Root cause confirmed on the github_com/signalapp/Signal-Desktop/issues/7992 — this was a bug in Electron itself, not Signal, not Plasma/KDE, not any specific DE or watcher.

Credit to mkurz, who rebuilt the signal-desktop package locally with only the bundled Electron version bumped from 43.4.x to 43.5.0 (no other code changes) and confirmed the tray icon issue disappeared completely. So Signal 8.24.0+ just happened to bundle the exact Electron version range carrying this regression.

Credit also to lajawi, who flagged a gotcha: there’s already a PR (#8004) bumping Electron to 44.0.0, but per Electron’s own changelog the actual fix only landed in 44.1.0 — so merging #8004 as-is won’t fix it. mkurz confirmed 43.5.0 alone is sufficient.

So: fix needs Signal to ship with either Electron 43.5.0, or 44.1.0+ (not 44.0.0).

Workaround until then: downgrade to signal-desktop 8.23.0 and pin it (IgnorePkg in pacman, or the equivalent on your distro) until the update lands. Thanks everyone who dug into this — closing this one out! :slight_smile: