SpacingBat3 / WebCord

A Discord and SpaceBar :electron:-based client implemented without Discord API.
MIT License
1.89k stars 94 forks source link

Minimizing app to tray doesn't work (missing icon) #330

Closed Rak1ta closed 1 year ago

Rak1ta commented 1 year ago

Aknowledgements

Operating System / Platform

🐧️ Linux

Operating system architecture

armv7l (32-bit ARM)

Electron version

v22.0.0

Application version

3.10.0

Bug description

OS: RaspiOS 32bit Debian10 After updating from 3.10.0 to 3.10.1, when the program window is closed, it minimizes, but there are no icons on the taskbar. Returned to 3.10.0 - works. Безымянный

Additional context

No response

andrew1412 commented 1 year ago

Same issue here, from Fedora 36 x86_64 Gnome Wayland, 3.10.0 works fine, but 3.10.1 don't show the tray icon on the status bar. In my case this is on Flatpak, because I try installing it directly from Github (webcord-3.10.1-1.x86_64.rpm) and the try icon is there.

aleksasiriski commented 1 year ago

https://github.com/flathub/io.github.spacingbat3.webcord/issues/27#issuecomment-1342840186

SpacingBat3 commented 1 year ago

Well, this is quite a known issue, although I'm a bit surprised it occurs in some status icon implementations given I heard from Electron developers StatusIconLinuxDBus was introduced in Chromium for quite a long time. It also seems to work for me on XFCE I thought only to work with appindicators and GtkStatusIcon.

Also please take a look at #329 (comment), it sounds like it might happen to be quite a common issue which probably has to be resolved by given DE developers. There's also an issue ticket opened at electron/electron#36602, not sure how it will be resolved through but would be great to hear a few words from Electron team, maybe they will introduce like a fallback mechanism just to support some DEs like it was in the previous Electron releases with libappindicator?

SpacingBat3 commented 1 year ago

Same issue here, from Fedora 36 x86_64 Gnome Wayland, 3.10.0 works fine, but 3.10.1 don't show the tray icon on the status bar. In my case this is on Flatpak, because I try installing it directly from Github (webcord-3.10.1-1.x86_64.rpm) and the try icon is there.

@andrew1412 for Flatpaks see also #329.

dpanter commented 1 year ago

Using WebCord-4.0.0-x64.AppImage in Siduction (Debian sid) KDE Plasma Wayland. It doesn't start in native Wayland by default but forcing with --enable-features=UseOzonePlatform --ozone-platform=wayland works, and the systray icon works properly.

aleksasiriski commented 1 year ago

Using WebCord-4.0.0-x64.AppImage in Siduction (Debian sid) KDE Plasma Wayland. It doesn't start in native Wayland by default but forcing with --enable-features=UseOzonePlatform --ozone-platform=wayland works, and the systray icon works properly.

What about screensharing, does it crash the app?

dpanter commented 1 year ago

Yeah it does instantly crash when you click the screenshare button. Voice works fine. Angry messages in dmesg:

DesktopMediaLis[1409656]: segfault at 0 ip 0000562ca7e81274 sp 00007f627a5fe140 error 4 in webcord[562ca3d70000+75ea000] likely on CPU8 (core 2, socket 0)
Code: 4c 20 20 48 8b 7b 40 45 31 f6 4c 89 75 e8 48 8d 5d e0 48 89 03 48 8b 07 31 f6 eb 16 48 8b 7b 40 45 31 f6 48 8d 5d d8 4c 89 33 <48> 8b 07 be 01 00 00 00 48 89 da ff 10 48 8b 3b 4c 89 33 48 85 ff

Edit: tried with more features enabled, same error. --enable-features=UseOzonePlatform,WaylandWindowDecorations,WebRTCPipeWireCapturer

SpacingBat3 commented 1 year ago

FYI: It seems that the recent Tray implementation is quite standarized, at least according to Electron Docs the StatusIconLinuxDbus is implementation of StatusNotifierItem:

As of RPiOS, I believe it uses the older implementation of GtkStatusIcon on Electron 21 downwards and I think that's why the icon doesn't displays at all (Electron 22+ just dropped it to keep it up-to-date with Chromium implementation / upstream – I believe they previously used code from much older Chromium engine releases based on both libappindicator and GtkStatusIcon).

theofficialgman commented 1 year ago

relavent PR https://github.com/electron/electron/pull/36333

SpacingBat3 commented 1 year ago

Will be closed on merge: https://github.com/electron/electron/pull/36815.