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.