snapcrafters / signal-desktop

Unofficial Signal Desktop installer for Linux
https://snapcraft.io/signal-desktop
GNU Affero General Public License v3.0
35 stars 15 forks source link

[Bug]: Missing tray icon #87

Closed smarek closed 11 months ago

smarek commented 1 year ago

What happened?

Tested with both stable/candidate (6.0.1) and edge (6.1.0), tray icon is missing I'm using i3wm

> i3 --version
i3 version 4.21.1 (2022-10-24) © 2009 Michael Stapelberg and contributors

> i3bar --version
i3bar version 4.21.1 (2022-10-24) © 2010 Axel Wagner and contributors

What should have happened?

Icon should be visible

Output of snap info $snap_name

# snap info signal-desktop
name:      signal-desktop
summary:   Private messaging from your desktop.
publisher: Snapcrafters
store-url: https://snapcraft.io/signal-desktop
contact:   https://github.com/snapcrafters/signal-desktop/issues
license:   AGPL-3.0-only
description: |
  Private messaging from your desktop.

  To use the Signal desktop app, Signal must first be installed on your phone.

  **Are you having issues?**

  Let us know by creating a new issue here: https://github.com/snapcrafters/signal-desktop/issues

  **Authors**

  This snap is maintained by the Snapcrafters community, and is not necessarily endorsed or
  officially maintained by the upstream developers.
commands:
  - signal-desktop
snap-id:      r4LxMVp7zWramXsJQAKdamxy6TAWlaDD
tracking:     latest/edge
refresh-date: today at 14:44 CET
channels:
  latest/stable:    6.0.1  2022-12-15 (420) 197MB -
  latest/candidate: 6.0.1  2022-12-17 (421) 197MB -
  latest/beta:      5.62.0 2022-11-24 (400) 192MB -
  latest/edge:      6.1.0  2022-12-18 (422) 190MB -
installed:          6.1.0             (422) 190MB -

Output of snap connections $snap_name

# snap connections signal-desktop
Interface               Plug                                   Slot                            Notes
audio-playback          signal-desktop:audio-playback          :audio-playback                 -
audio-record            signal-desktop:audio-record            :audio-record                   -
browser-support         signal-desktop:browser-support         :browser-support                -
camera                  signal-desktop:camera                  :camera                         -
content[gnome-42-2204]  signal-desktop:gnome-42-2204           gnome-42-2204:gnome-42-2204     -
content[gtk-3-themes]   signal-desktop:gtk-3-themes            gtk-common-themes:gtk-3-themes  -
content[icon-themes]    signal-desktop:icon-themes             gtk-common-themes:icon-themes   -
content[sound-themes]   signal-desktop:sound-themes            gtk-common-themes:sound-themes  -
desktop                 signal-desktop:desktop                 :desktop                        -
desktop-legacy          signal-desktop:desktop-legacy          :desktop-legacy                 -
gsettings               signal-desktop:gsettings               :gsettings                      -
home                    signal-desktop:home                    :home                           -
network                 signal-desktop:network                 :network                        -
opengl                  signal-desktop:opengl                  :opengl                         -
removable-media         signal-desktop:removable-media         -                               -
screen-inhibit-control  signal-desktop:screen-inhibit-control  :screen-inhibit-control         -
unity7                  signal-desktop:unity7                  :unity7                         -
wayland                 signal-desktop:wayland                 :wayland                        -
x11                     signal-desktop:x11                     :x11                            -

Output of snap version

# snap version
snap    2.57.6-1+b1
snapd   2.57.6-1+b1
series  16
debian  -
kernel  6.0.0-6-amd64

Relevant log output

# from xsession-errors
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /snap/signal-desktop/422/opt/Signal/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME undefined
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
SIGNAL_ENABLE_HTTP undefined
userData: /home/smarek/snap/signal-desktop/422/.config/Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
Error org.freedesktop.DBus.Error.Failed: cannot find desktop file "var/lib/snapd/desktop/applications/signal-desktop_signal.desktop"
Error org.freedesktop.DBus.Error.Failed: cannot find desktop file "/var/lib/snapd/desktop/applications/signal-desktop_signal.desktop"
WARNING: Kernel has no file descriptor comparison support: Operation not permitted
(signal-desktop:465749): IBUS-WARNING **: 17:35:03.244: chmod failed: Permission denied

Teminal output of app

/bin/bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
Set Windows Application User Model ID (AUMID) { appUserModelId: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /snap/signal-desktop/422/opt/Signal/resources/app.asar/config
NODE_CONFIG {}
ALLOW_CONFIG_MUTATIONS undefined
HOSTNAME undefined
NODE_APP_INSTANCE undefined
SUPPRESS_NO_CONFIG_WARNING undefined
SIGNAL_ENABLE_HTTP undefined
userData: /home/smarek/snap/signal-desktop/422/.config/Signal
config/get: Successfully read user config file
config/get: Successfully read ephemeral config file
making app single instance
Error org.freedesktop.DBus.Error.Failed: cannot find desktop file "/var/lib/snapd/desktop/applications/signal-desktop_signal.desktop"
Error org.freedesktop.DBus.Error.Failed: cannot find desktop file "/var/lib/snapd/desktop/applications/signal-desktop_signal.desktop"
WARNING: Kernel has no file descriptor comparison support: Operation not permitted
{"level":40,"time":"2023-01-03T16:39:02.203Z","msg":"Problem loading messages for locale en-US"}
{"level":40,"time":"2023-01-03T16:39:02.204Z","msg":"Falling back to parent language: 'en'"}
{"level":30,"time":"2023-01-03T16:39:02.247Z","msg":"app ready"}
{"level":30,"time":"2023-01-03T16:39:02.247Z","msg":"starting version 6.1.0"}
{"level":30,"time":"2023-01-03T16:39:02.248Z","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2023-01-03T16:39:02.248Z","msg":"got fast theme-setting value dark"}
{"level":30,"time":"2023-01-03T16:39:02.250Z","msg":"got fast theme-setting value dark"}
{"level":30,"time":"2023-01-03T16:39:02.251Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2023-01-03T16:39:02.251Z","msg":"getSystemTraySetting saw --use-tray-icon flag. Returning MinimizeToSystemTray"}
{"level":30,"time":"2023-01-03T16:39:02.252Z","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":1920,\"height\":1043,\"minWidth\":300,\"minHeight\":200,\"autoHideMenuBar\":true,\"titleBarStyle\":\"default\",\"titleBarOverlay\":false,\"backgroundColor\":\"#121212\",\"webPreferences\":{\"devTools\":false,\"spellcheck\":true,\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"sandbox\":false,\"contextIsolation\":false,\"preload\":\"[REDACTED]/preload.bundle.js\",\"backgroundThrottling\":false,\"enablePreferredSizeMode\":true,\"disableBlinkFeatures\":\"Accelerated2dCanvas,AcceleratedSmallCanvases\"},\"icon\":\"[REDACTED]/images/signal-logo-desktop-linux.png\",\"x\":0,\"y\":18}"}
{"level":30,"time":"2023-01-03T16:39:02.360Z","msg":"spellcheck: user locale: en-US"}
{"level":30,"time":"2023-01-03T16:39:02.360Z","msg":"spellcheck: available spellchecker languages:  [\"af\",\"bg\",\"ca\",\"cs\",\"cy\",\"da\",\"de\",\"de-DE\",\"el\",\"en\",\"en-AU\",\"en-CA\",\"en-GB\",\"en-GB-oxendict\",\"en-US\",\"es\",\"es-419\",\"es-AR\",\"es-ES\",\"es-MX\",\"es-US\",\"et\",\"fa\",\"fo\",\"fr\",\"fr-FR\",\"he\",\"hi\",\"hr\",\"hu\",\"hy\",\"id\",\"it\",\"it-IT\",\"ko\",\"lt\",\"lv\",\"nb\",\"nl\",\"pl\",\"pt\",\"pt-BR\",\"pt-PT\",\"ro\",\"ru\",\"sh\",\"sk\",\"sl\",\"sq\",\"sr\",\"sv\",\"ta\",\"tg\",\"tr\",\"uk\",\"vi\"]"}
{"level":30,"time":"2023-01-03T16:39:02.360Z","msg":"spellcheck: setting languages to:  [\"en-US\"]"}
{"level":30,"time":"2023-01-03T16:39:02.361Z","msg":"got fast theme-setting value dark"}
{"level":30,"time":"2023-01-03T16:39:02.372Z","msg":"MainSQL: updateSchema:\n  Current user_version: 70;\n  Most recent db schema: 70;\n  SQLite version: 3.39.2;\n  SQLCipher version: 4.5.2 community;\n  (deprecated) schema_version: 294;\n"}
{"level":30,"time":"2023-01-03T16:39:02.372Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2023-01-03T16:39:02.382Z","msg":"System tray service: created"}
{"level":30,"time":"2023-01-03T16:39:02.383Z","msg":"System tray service: updating main window. Previously, there was not a window, and now there is"}
{"level":30,"time":"2023-01-03T16:39:02.383Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2023-01-03T16:39:02.383Z","msg":"System tray service: enabling"}
{"level":30,"time":"2023-01-03T16:39:02.383Z","msg":"System tray service: rendering the tray"}
{"level":30,"time":"2023-01-03T16:39:02.383Z","msg":"System tray service: creating the tray"}
{"level":30,"time":"2023-01-03T16:39:02.389Z","msg":"Begin ensuring permissions"}
{"level":30,"time":"2023-01-03T16:39:02.393Z","msg":"Ensuring file permissions for 4 files"}
{"level":30,"time":"2023-01-03T16:39:02.395Z","msg":"Finish ensuring permissions in 6ms"}
[466524:0103/173902.519539:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173902.519666:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173902.519743:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173902.519815:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173902.519886:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173902.519956:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173902.520026:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173902.520138:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173902.520214:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173902.520285:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173902.520354:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173902.520435:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173902.520505:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173902.520576:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173902.520646:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173902.525508:ERROR:browser_main_loop.cc(269)] Gdk: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed
(node:466678) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `exe --trace-deprecation ...` to show where the warning was created)
{"level":30,"time":"2023-01-03T16:39:03.753Z","msg":"main window is ready-to-show"}
{"level":30,"time":"2023-01-03T16:39:03.753Z","msg":"showing main window"}
{"level":30,"time":"2023-01-03T16:39:03.755Z","msg":"System tray service: rendering the tray"}
[466524:0103/173903.785932:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173903.785968:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173903.785987:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173903.786001:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173903.786015:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173903.786028:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173903.786041:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173903.786049:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173903.786056:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173903.786063:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173903.786070:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173903.786076:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173903.786084:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173903.786091:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
[466524:0103/173903.786098:ERROR:browser_main_loop.cc(269)] GLib: g_str_has_prefix: assertion 'str != NULL' failed
{"level":30,"time":"2023-01-03T16:39:04.278Z","msg":"sending `database-ready`"}
{"level":30,"time":"2023-01-03T16:39:04.607Z","msg":"Prevent display sleep service: allowing display sleep"}
{"level":30,"time":"2023-01-03T16:39:05.001Z","msg":"updater/start: Updates disabled - not starting new version checks"}
{"level":30,"time":"2023-01-03T16:39:05.103Z","msg":"App loaded - time: 2862"}
{"level":30,"time":"2023-01-03T16:39:05.103Z","msg":"SQL init - time: 137"}
{"level":30,"time":"2023-01-03T16:39:05.103Z","msg":"Preload - time: 738"}
{"level":30,"time":"2023-01-03T16:39:05.103Z","msg":"WebSocket connect - time: 1340"}
{"level":30,"time":"2023-01-03T16:39:05.103Z","msg":"Processed count: 0"}
{"level":30,"time":"2023-01-03T16:39:05.103Z","msg":"Messages per second: 0"}

(signal-desktop:466524): IBUS-WARNING **: 17:39:05.169: chmod failed: Permission denied
smarek commented 1 year ago

I discovered the reason behind this, i3bar does support only limited amount of tray icon methods, snixembed https://git.sr.ht/~steef/snixembed is used to solve this the other way around

To solve the root cause is to upgrade electron, see https://github.com/electron/electron/pull/23674

lucyllewy commented 1 year ago

Unfortunately upgrading electron is not something we can do within the snap. This needs to be done by Signal upstream.

w-sky commented 1 year ago

I'm having the same problem since I just updated from 5.7.0 to 6.4.0 and then 6.4.1. Will this be fixed soon or is there a workaround?

smarek commented 1 year ago

@w-sky workaround is to use mentioned snixembed utility

FiSHYsolutions commented 1 year ago

+1 no tray icon

bash$ snap info signal-desktop
name:      signal-desktop
summary:   Private messaging from your desktop.
publisher: Snapcrafters
store-url: https://snapcraft.io/signal-desktop
contact:   https://github.com/snapcrafters/signal-desktop/issues
license:   AGPL-3.0-only
description: |
  Private messaging from your desktop.

  To use the Signal desktop app, Signal must first be installed on your phone.

  **Are you having issues?**

  Let us know by creating a new issue here: https://github.com/snapcrafters/signal-desktop/issues

  **Authors**

  This snap is maintained by the Snapcrafters community, and is not necessarily endorsed or
  officially maintained by the upstream developers.
commands:
  - signal-desktop
snap-id:      r4LxMVp7zWramXsJQAKdamxy6TAWlaDD
tracking:     latest/stable
refresh-date: gestern um 12:39 CET
channels:
  latest/stable:    6.5.0 2023-02-10 (442) 193MB -
  latest/candidate: 6.5.0 2023-02-11 (445) 193MB -
  latest/beta:      ↑                            
  latest/edge:      ↑                            
installed:          6.5.0            (442) 193MB -
bash$ sudo snap refresh signal-desktop
für Snap "signal-desktop" sind keine Aktualisierungen verfügbar
bash$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.1 LTS
Release:    22.04
Codename:   jammy
bash$ xfce4-about -V
xfce4-about 4.16.1 (Xfce 4.16)

Copyright (c) 2008-2019
    Die Xfce-Entwicklungsmannschaft. Alle Rechte vorbehalten.

Probleme bitte unter <https://gitlab.xfce.org/xfce/libxfce4ui/-/issues> melden.
FiSHYsolutions commented 1 year ago

still no tray icon in signal desktop v6.11.0 (snap) using xubuntu 22.04.2 lts

FiSHYsolutions commented 1 year ago

still no tray icon in signal desktop v6.16.0 (snap) using xubuntu 22.04.2 lts

FiSHYsolutions commented 1 year ago

still no tray icon in signal desktop v6.17.1 (snap) using xubuntu 22.04.2 lts

w-sky commented 1 year ago

Still no tray icon in Signal Desktop v6.18.0 using ubuntu 22.04.2 LTS with unity desktop.

However as it seems, this bug is not specific to the Snap version of Signal. I also installed Signal from the repository at signal.org some weeks ago and up to the current version (6.18.0) I won't see a tray icon either.

smarek commented 1 year ago

ok, maintainer, can somebody please close this, so the last comment explains, this is not issue of "snapcrafters" repository, it's issue of upstream Signal Desktop app, and everybody should go and get fixed this issue: https://github.com/signalapp/Signal-Desktop/issues/6243

smarek commented 1 year ago

I'm closing this issue with my own resolution, see https://github.com/signalapp/Signal-Desktop/issues/6243#issuecomment-1574063892

TL;DR: Install libayatana (and all possible sub-packages), restart your WM and signal-desktop, observe tray icon working

FiSHYsolutions commented 1 year ago

still no tray icon in signal desktop v6.26.0 (snap) using xubuntu 22.04.2 lts

merlijn-sebrechts commented 11 months ago

I cannot reproduce this issue on an updated Xubuntu 22.04 install. If you are still experiencing this issue, please try the following:

How to fix it

Run the following command:

sudo apt install libayatana-*

After this, reboot your OS and restart Signal Desktop.

Nevertheless, this is an issue with your OS, not with Signal, so I'm closing this issue.