snapcrafters / signal-desktop

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

[Bug]: Downloading images and videos does not work #246

Closed GHTaarn closed 7 months ago

GHTaarn commented 7 months ago

What happened?

Nothing happens when I click the download icon on images or videos in a message thread.

What should have happened?

In previous versions, I would get a dialog box asking where I would like to save the download.

Output of snap info $snap_name

name:      signal-desktop
summary:   Speak Freely - Private Messenger
publisher: Snapcrafters*
store-url: https://snapcraft.io/signal-desktop
contact:   https://github.com//snapcrafters/signal-desktop/issues
license:   AGPL-3.0-only
description: |
  **Note: To use the Signal desktop app, you must first install Signal on
  your phone.**

  Millions of people use Signal every day for free and instantaneous
  communication anywhere in the world. Send and receive high-fidelity
  messages, participate in HD voice/video calls, and explore a growing set of
  new features that help you stay connected. Signal's advanced
  privacy-preserving technology is always enabled, so you can focus on
  sharing the moments that matter with the people who matter to you.

  - Say anything - State-of-the-art end-to-end encryption (powered by the
  open source Signal Protocol™) keeps your conversations secure. Privacy
  isn't an optional mode; it's just the way that Signal works. Every message,
  every call, every time.
  - Go fast - Messages are delivered quickly and reliably, even on slow
  networks. Signal is optimized to operate in the most constrained
  environment possible.
  - Feel free - Signal is a completely independent 501c3 nonprofit.
  Development is supported by users like you. No advertisements. No trackers.
  No kidding.
  - Be yourself - You can use your existing phone number and address book to
  securely communicate with your friends.
  - Speak up - Whether they live across town or across the ocean, Signal's
  enhanced audio and video quality will make your friends and family feel
  closer.
  - Whisper in the shadows - Switch to the dark theme if you refuse to see
  the light.

  **Minimize to tray**

  Per the request of the Signal developers, this snap does not use the system
  tray by default. This is disabled by default per the request of the Signal
  developers, because system tray support is not stable. Set to `false`,
  Signal will stop when you close it and will not have a system tray icon.
  You can enable it by running the following command.

      snap set signal-desktop tray-icon=true

  **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/candidate
refresh-date: today at 04:16 CET
channels:
  latest/stable:    6.41.0 2023-12-07 (590) 181MB -
  latest/candidate: 6.42.1 2023-12-25 (592) 187MB -
  latest/beta:      ^                             
  latest/edge:      ^                             
installed:          6.42.1            (592) 187MB -

Output of snap connections $snap_name

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    2.60.4
snapd   2.60.4
series  16
ubuntu  22.04
kernel  5.15.0-91-generic

Relevant log output

[ 2265.766354] audit: type=1107 audit(1703647091.253:235): pid=1235 uid=102 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_method_call"  bus="system" path="/org/freedesktop/hostname1" interface="org.freedesktop.DBus.Properties" member="GetAll" mask="send" name=":1.151" pid=8293 label="snap.signal-desktop.signal-desktop" peer_pid=8626 peer_label="unconfined"
                exe="/usr/bin/dbus-daemon" sauid=102 hostname=? addr=? terminal=?'
[ 2298.519850] audit: type=1400 audit(1703647124.011:236): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/implicit_layer.d/" pid=8500 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 2298.519888] audit: type=1400 audit(1703647124.011:237): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/implicit_layer.d/" pid=8500 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 2298.520020] audit: type=1400 audit(1703647124.011:238): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/implicit_layer.d/" pid=8500 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 2298.520061] audit: type=1400 audit(1703647124.011:239): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/explicit_layer.d/" pid=8500 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 2298.520188] audit: type=1400 audit(1703647124.011:240): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/implicit_layer.d/" pid=8500 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 2298.520229] audit: type=1400 audit(1703647124.011:241): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/implicit_layer.d/" pid=8500 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 2298.520352] audit: type=1400 audit(1703647124.011:242): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/explicit_layer.d/" pid=8500 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 2298.520472] audit: type=1400 audit(1703647124.011:243): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/implicit_layer.d/" pid=8500 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 2298.520516] audit: type=1400 audit(1703647124.011:244): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/icd.d/" pid=8500 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 2298.520613] audit: type=1400 audit(1703647124.011:245): apparmor="DENIED" operation="open" profile="snap.signal-desktop.signal-desktop" name="/etc/vulkan/implicit_layer.d/" pid=8500 comm="signal-desktop" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

Teminal output of app

Set Windows Application User Model ID (AUMID) { AUMID: 'org.whispersystems.signal-desktop' }
NODE_ENV production
NODE_CONFIG_DIR /snap/signal-desktop/592/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/msj/snap/signal-desktop/592/.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"
Gtk-Message: 04:42:48.585: Failed to load module "appmenu-gtk-module"
Gtk-Message: 04:42:48.585: Not loading module "atk-bridge": The functionality is provided by GTK natively. Please try to not load it.

(signal-desktop:9044): Gtk-WARNING **: 04:42:48.587: GTK+ module /snap/signal-desktop/592/gnome-platform/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so cannot be loaded.
GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported.
Gtk-Message: 04:42:48.587: Failed to load module "canberra-gtk-module"
[9044:1227/044248.638041:ERROR:object_proxy.cc(577)] Failed to call method: org.freedesktop.DBus.ListActivatableNames: object_path= /org/freedesktop/DBus: org.freedesktop.DBus.Error.AccessDenied: An AppArmor policy prevents this sender from sending this message to this recipient; type="method_call", sender=":1.99" (uid=1000 pid=9044 comm="/snap/signal-desktop/592/opt/Signal/signal-desktop" label="snap.signal-desktop.signal-desktop (enforce)") interface="org.freedesktop.DBus" member="ListActivatableNames" error name="(unset)" requested_reply="0" destination="org.freedesktop.DBus" (bus)
[9044:1227/044248.711833:ERROR:object_proxy.cc(577)] Failed to call method: org.freedesktop.login1.Manager.Inhibit: object_path= /org/freedesktop/login1: org.freedesktop.DBus.Error.AccessDenied: An AppArmor policy prevents this sender from sending this message to this recipient; type="method_call", sender=":1.154" (uid=1000 pid=9044 comm="/snap/signal-desktop/592/opt/Signal/signal-desktop" label="snap.signal-desktop.signal-desktop (enforce)") interface="org.freedesktop.login1.Manager" member="Inhibit" error name="(unset)" requested_reply="0" destination="org.freedesktop.login1" (uid=0 pid=1248 comm="/lib/systemd/systemd-logind " label="unconfined")

(signal-desktop:9044): IBUS-WARNING **: 04:42:57.809: Failed to mkdir /home/msj/snap/signal-desktop/592/.config/ibus/bus: Not a directory

(signal-desktop:9044): Gtk-WARNING **: 04:43:46.811: Can't open portal file chooser: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.portal.Desktop was not provided by any .service files
merlijn-sebrechts commented 7 months ago

Hmm, it seems the snap can't find the xdg desktop portal. Can you show the output of the following command?

apt search xdg-desktop-portal | grep portal | grep installed
GHTaarn commented 7 months ago

It only produces this:


WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
merlijn-sebrechts commented 7 months ago

Oh, wow, that is not supposed to happen. It seems like you broke part of your desktop. What desktop environment are you using? Regular Ubuntu Gnome or KDE or something?

GHTaarn commented 7 months ago

I am using Ubuntu Mate. Mate desktop. So which packages should be installed? Maybe I can just install them explicitly.

GHTaarn commented 7 months ago

You are right, I get the same problem with Firefox, I can't save from Firefox, something must have broken in my desktop

GHTaarn commented 7 months ago

But Firefox is also a Snap, I do not get the problem with Pluma (my editor) which is a .deb package

merlijn-sebrechts commented 7 months ago

Are you on Matrix to debug this situation quickly? You can contact me on Matrix at merlijn-sebrechts:ubuntu.com or @mesebrec on telegram.

I think it might be fixed by installing sudo apt install ubuntu-mate-desktop.

GHTaarn commented 7 months ago

Thanks for your offer, I will sign up to Telegram and contact you, unfortunately the apt install that you suggested was not enough:

ubuntu-mate-desktop is already the newest version (1.282).
GHTaarn commented 7 months ago

The problem was solved with

sudo apt install xdg-desktop-portal-gtk

I am not sure why this package was missing, but whatever the reason, I do not expect that this is a bug in the signal-desktop snap.

merlijn-sebrechts commented 7 months ago

For future reference, running sudo apt install xdg-desktop-portal-gtk fixed the issue.

If you're running regular Ubuntu Desktop, running sudo apt install xdg-desktop-portal-gnome might also be useful.