Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Riot Desktop system tray icon invisible #12518

Closed
MazeChaZer opened this issue Feb 26, 2020 · 45 comments
Closed

Riot Desktop system tray icon invisible #12518

MazeChaZer opened this issue Feb 26, 2020 · 45 comments
Labels
A-Electron T-Defect Z-Platform-Specific Z-Rageshake Has attached rageshake (not for log submission process) Z-Upstream

Comments

@MazeChaZer
Copy link

Description

Since a week or so, the system tray icon of Riot Desktop is not displayed anymore under i3/i3bar.

Steps to reproduce

  • Launch Riot Desktop

Version information

  • Platform: desktop
  • OS: Arch Linux, i3, i3bar
  • riot-web Version: 1.5.10
  • electron Version: 8.0.1
@drskalman
Copy link

drskalman commented Feb 26, 2020

+1 happend a week ago with Awesome WM:

  • Platform: desktop.
  • OS: Arch Linux, Awesome WM.
  • riot-web Version: 1.5.10-1
  • electron Version: 8.0.1

@kujaw
Copy link

kujaw commented Feb 29, 2020

+1

  • Platform: desktop
  • OS: Arch Linux, Xfce 4.14
  • riot-web Version: 1.5.10-1
  • electron Version: 8.0.2

@MazeChaZer
Copy link
Author

I attached a rageshake to this issue.

@MazeChaZer
Copy link
Author

The issue persists after updating electron to 8.0.2

@aaronraimist aaronraimist added the Z-Rageshake Has attached rageshake (not for log submission process) label Mar 2, 2020
@turt2live turt2live self-assigned this Mar 3, 2020
@turt2live turt2live added this to In Progress in Web App Team via automation Mar 3, 2020
@t3chguy
Copy link
Member

t3chguy commented Mar 3, 2020

The issue appears to be caused by Electron 8.

@turt2live
Copy link
Member

Given the above, we're reverting to an older version of electron - release should be out tomorrow. Will leave this open to track the electron 8 issues.

@aaronraimist
Copy link
Collaborator

Presumably this is related to electron/electron#21445, see electron/electron#21445 (comment) specifically

@cpw
Copy link

cpw commented Mar 4, 2020

I encountered this issue and resolved it by installing and activating the "appindicator" extension on my gnome-shell desktop.

@akontsevich
Copy link

Are you sure about this change? Riot 1.5.11 on Electron 8.0.1 tray icon works just fine in KDE openSUSE - seems first time it looks and works fine - first completely fixed Electron version. Are You sure 7.x will work and look fine with correct icon resolution?

@thedanbob
Copy link

thedanbob commented Mar 4, 2020

I have the AppIndicator extension as well but it only works for a little while. After a few minutes the icon disappears and I see this crash in my logs:

Mar 04 06:16:45 wheatley gnome-shell[813]: JS ERROR: Exception in callback for signal: property-changed: GdkPixbuf.PixbufError: Unrecognized image file fo>
                                           _updateImage@/home/dan/.local/share/gnome-shell/extensions/appindicatorsupport@rgcjonas.gmail.com/dbusMenu.js:6>
                                           _onPropertyChanged@/home/dan/.local/share/gnome-shell/extensions/appindicatorsupport@rgcjonas.gmail.com/dbusMen>
                                           _emit@resource:///org/gnome/gjs/modules/signals.js:135:27
                                           property_set@/home/dan/.local/share/gnome-shell/extensions/appindicatorsupport@rgcjonas.gmail.com/dbusMenu.js:1>
                                           _endRequestProperties/<@/home/dan/.local/share/gnome-shell/extensions/appindicatorsupport@rgcjonas.gmail.com/db>
                                           _endRequestProperties@/home/dan/.local/share/gnome-shell/extensions/appindicatorsupport@rgcjonas.gmail.com/dbus>
                                           asyncCallback@resource:///org/gnome/gjs/modules/overrides/Gio.js:132:13
Mar 04 06:16:45 wheatley gnome-shell[813]: JS ERROR: Exception in callback for signal: property-changed: GdkPixbuf.PixbufError: Unrecognized image file fo>
                                           _updateImage@/home/dan/.local/share/gnome-shell/extensions/appindicatorsupport@rgcjonas.gmail.com/dbusMenu.js:6>
                                           _onPropertyChanged@/home/dan/.local/share/gnome-shell/extensions/appindicatorsupport@rgcjonas.gmail.com/dbusMen>
                                           _emit@resource:///org/gnome/gjs/modules/signals.js:135:27
                                           property_set@/home/dan/.local/share/gnome-shell/extensions/appindicatorsupport@rgcjonas.gmail.com/dbusMenu.js:1>
                                           _endRequestProperties/<@/home/dan/.local/share/gnome-shell/extensions/appindicatorsupport@rgcjonas.gmail.com/db>
                                           _endRequestProperties@/home/dan/.local/share/gnome-shell/extensions/appindicatorsupport@rgcjonas.gmail.com/dbus>
                                           asyncCallback@resource:///org/gnome/gjs/modules/overrides/Gio.js:132:13

Arch Linux with gnome shell.

@vladimiry
Copy link

vladimiry commented Mar 4, 2020

Riot 1.5.11 on Electron 8.0.1 tray icon works just fine in KDE openSUSE - seems first time it looks and works fine

It really depends on the type of Linux system used. If used Linux system/DE/panel/tray-plugin doesn't support Status Notifier tray icons standard then you won't get the tray icon as @electron since v8 switched to use Status Notifier tray icons (the change actually came from the upstream project named @chromium).

@vladimiry
Copy link

@MazeChaZer, i3 related stuff (apparently there is no Status Notifier tray icons support for i3 implemented yet):

@vladimiry
Copy link

vladimiry commented Mar 4, 2020

@kujaw

OS: Arch Linux, Xfce 4.14

You could try xfce4-statusnotifier-plugin as noted in electron/electron#21445 (comment)

@turt2live turt2live removed their assignment Mar 4, 2020
@turt2live turt2live removed this from In Progress in Web App Team Mar 4, 2020
@akontsevich
Copy link

Like I said icon become terrible in 1.5.12 (Electron 7):

Screenshot_20200304_190913

It was ok in 1.5.11 (Electron 8 where icon scaling was fixed):

Screenshot_20200304_191353

Please revert!!!

@turt2live
Copy link
Member

@akontsevich we're consciously not going to upgrade to electron 8 at this time, given people's icons are going missing. We'd rather they were blurry than not there.

For now let's keep this issue about the lack of icon rather than KDE's blurry icons.

@akontsevich
Copy link

Was so many hopes on Riot, for now it is completely unusable because of such bugs, so using Viber instead which works out of the box with encryption, etc.

@vladimiry
Copy link

we're consciously not going to upgrade to electron 8 at this time, given people's icons are going missing. We'd rather they were blurry than not there.

Not upgrading Electron or other major deps might potentially lead to sticking with security issues that were revealed and fixed in newer @chromium / @electron versions.

Btw, in some cases Electron v8 makes tray icons blurry on HiDPI Linux desktops electron/electron#22207

@t3chguy
Copy link
Member

t3chguy commented May 7, 2020

Issue tracking SNI/libappindicator support for the flatpak build: flathub/im.riot.Riot#100

@tycho-kirchner
Copy link

Please note that at least on Xfce, the riot-update from 1.5.x to 1.6 broke the status-notification icon (again). I use the official Deb package and run Debian Buster and have the xfce4-statusnotifier-plugin installed and running (;, as it is mentioned in the corresponding electron issue.
On mate-panel it is also not displayed.
Thanks

@olegk0
Copy link

olegk0 commented May 12, 2020

+1
tray icon is gone

riot-web: 1.6.0
Debian 10
Mate 1.20.4

@drskalman
Copy link

In Awesome on Arch https://git.sr.ht/~steef/snixembed has resolved the issue.

@tycho-kirchner
Copy link

In Awesome on Arch https://git.sr.ht/~steef/snixembed has resolved the issue.

If I get this right, snixembed translates status-notifier protocol to systemtray-spec protocol. While this (quoting the author) "dirty hack" may be acceptable as a temporary workaround for panels/window managers which do not have a status-notification area (but only a tray), it certainly makes no sense in other desktop environments like Mate or Xfce4, which do provide it.

@foresto
Copy link

foresto commented May 12, 2020

Please note that at least on Xfce, the riot-update from 1.5.x to 1.6 broke the status-notification icon (again). I use the official Deb package and run Debian Buster and have the xfce4-statusnotifier-plugin installed and running

Could that be a dbus problem? The Riot flatpak had a similar issue. It was fixed yesterday with a dbus permission, and verified on Xfce 4.14 desktop with the Status Notifier panel plugin.

Note that the Riot flatpak uses the executable from the official deb package, but it may use its own Electron libs.

@lalit-lintel
Copy link

+1
Tray icon is disappeared

riot-web: 1.6.0
Ubuntu 16.04.6

@ghost
Copy link

ghost commented May 18, 2020

Systray icon not showing here either.
Using:
tint2-16.7_1
riot-desktop-1.6.0_1
openbox-3.6.1_3

@hrqmonteiro
Copy link

+1
Not showing tray icon here

riot-desktop: 1.6.0
Void Linux Rolling Release
AwesomeWM: 4.3-855-g814d701c

@anon88391
Copy link

No system tray icon here as well after updating to Riot 1.6.0 on latest Debian Buster.
Is this getting fixed?

@t3chguy
Copy link
Member

t3chguy commented May 19, 2020

It isn't something which Riot can do anything about. It is an issue between Electron (Chromium) and your DE/WM.

@sjamaan
Copy link

sjamaan commented May 19, 2020

@t3chguy Then how can it be that it broke due to an upgrade of just the Riot package?

Is there a workaround we can apply? I would try @foresto's comment but I don't understand exactly how to fix this "dbus permission".

@t3chguy
Copy link
Member

t3chguy commented May 19, 2020

As stated above. Riot upgraded to electron 8 which uses chromium 80.x which changed its tray icon support.

@t3chguy
Copy link
Member

t3chguy commented May 19, 2020

Other electron apps will suffer the same fate when they choose to upgrade.

@hrqmonteiro
Copy link

It isn't something which Riot can do anything about. It is an issue between Electron (Chromium) and your DE/WM.

So how can i use a lot of apps in electron (like stremio, telegram) and all of them using the same version as riot and all of these i get the tray icons properly?

Other electron apps will suffer the same fate when they choose to upgrade.

Yea, no, that's not happening.

@t3chguy
Copy link
Member

t3chguy commented May 19, 2020

Most electron apps are not yet using electron 8.

For telegram if you mean tdesktop then it isn't electron: https://github.com/telegramdesktop/tdesktop

For stremio, it isn't electron, its using Node + QT.
image

@hrqmonteiro
Copy link

Most electron apps are not yet using electron 8.

For telegram if you mean tdesktop then it isn't electron: https://github.com/telegramdesktop/tdesktop

For stremio, it isn't electron, its using Node + QT.
image

Stremio for linux uses electron. You're showing me Windows version.
Electron It's on the very dependencies for stremio on the Aur.

@turt2live
Copy link
Member

There's some reports that making the source image 32x32 resolves the issue for most desktop environments - we might want to try that if we can do so without impacting other environments (like Windows, mac, etc). Ideally we'd somehow specify the tray icon image specifically and for specific environments.

@t3chguy
Copy link
Member

t3chguy commented May 20, 2020

Electron It's on the very dependencies for stremio on the Aur.

https://aur.archlinux.org/packages/stremio/

mpv (mpv-sndio, mpv-semifull-git, mpv-vittgam, mpv-git-nc, mpv-ahjolinna, mpv-rpi, mpv-full, mpv-light, mpv-thin, mpv-build-git, mpv-full-build-git, mpv-git, mpv-full-git, mpv-amd-full-git, mpv-ahjolinna-git)
nodejs (nodejs-git, nodejs6-bin, nodejs-ipv6, nodejs-lts-dubnium, nodejs-lts-erbium)
openssl (libressl-git, openssl-git, openssl-weak-ciphers, openssl-purify, openssl-zlib)
qt5-base (qt5-base-git, qt5-base-headless)
qt5-declarative (qt5-declarative-git)
qt5-quickcontrols (qt5-quickcontrols-git)
qt5-quickcontrols2 (qt5-quickcontrols2-git)
qt5-translations (qt5-translations-git)
qt5-webchannel (qt5-webchannel-git)
qt5-webengine
git (git-git) (make)
librsvg (librsvg-git) (make)

Doesn't look like it?

@steils
Copy link

steils commented May 20, 2020

+1. i3 (i3status/i3bar or i3blocks, doesn't matter), no icon in tray after upgrading to 1.6.x.

@turt2live
Copy link
Member

I'm locking this because it's not something we can fix at the moment. It requires OS/window manager vendors to talk to Chromium about how this is supposed to work.

At the moment we cannot downgrade electron for various reasons external to this one - we are trying to work out a solution that gets us the benefit of electron 8 (and therefore latest Chromium) as well as having a task tray icon.

@element-hq element-hq locked as too heated and limited conversation to collaborators May 20, 2020
@t3chguy
Copy link
Member

t3chguy commented Jun 25, 2020

Electron fixed this upstream. riot-desktop will be using the new electron in the next release.
See #13692

@t3chguy t3chguy closed this as completed Jun 25, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-Electron T-Defect Z-Platform-Specific Z-Rageshake Has attached rageshake (not for log submission process) Z-Upstream
Projects
None yet
Development

No branches or pull requests