snapcrafters / signal-desktop

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

[Bug]: signal-desktop does not show images. #279

Closed CarstenKochElsdorf closed 1 week ago

CarstenKochElsdorf commented 5 months ago

What happened?

When a message contains an image, the image is not shown. Instead, signal-desktop shows a color rectangle with a black circle in the middle that contains an arrow pointing downward.

signal

When I click on the arrow, a circle cursor is shown briefly, then the arrow reappears. This is aarch64 on an orange pi 5 running ubuntu Linux opim 5.10.110-rockchip-rk3588 #1.1.6 SMP Thu Jun 1 21:23:54 CST 2023 aarch64 aarch64 aarch64 GNU/Linux

What should have happened?

The images should be shown IMG_6319 (Same chat, snapshot done on iPad)

Output of snap info $snap_name

cko@opim:~$ snap info signal-desktop
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/stable
refresh-date: 13 days ago, at 18:32 CET
channels:
  latest/stable:    7.4.0 2024-03-29 (643) 193MB -
  latest/candidate: 7.4.0 2024-03-29 (643) 193MB -
  latest/beta:      ↑                            
  latest/edge:      ↑                            
installed:          7.4.0            (643) 193MB -

Output of snap connections $snap_name

cko@opim:~$ 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    2.61.2
snapd   2.61.2
series  16
ubuntu  22.04
kernel  5.10.110-rockchip-rk3588

Relevant log output

No response

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/643/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/cko/snap/signal-desktop/643/.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"
Gtk-Message: 00:52:07.505: Failed to load module "xapp-gtk3-module"
Gtk-Message: 00:52:07.506: Not loading module "atk-bridge": The functionality is provided by GTK natively. Please try to not load it.
Warning: build/dns-fallback.json not build, run `yarn generate`
{"level":30,"time":"2024-04-10T22:52:07.911Z","msg":"got fast localeOverride setting null"}
{"level":30,"time":"2024-04-10T22:52:07.912Z","msg":"app.ready: hour cycle preference: UnknownPreference"}
{"level":30,"time":"2024-04-10T22:52:07.912Z","msg":"app.ready: preferred system locales: en"}
{"level":30,"time":"2024-04-10T22:52:07.913Z","msg":"locale: Supported locales: af-ZA, ar, az-AZ, bg-BG, bn-BD, bs-BA, ca, cs, da, de, el, en, es, et-EE, eu, fa-IR, fi, fr, ga-IE, gl-ES, gu-IN, he, hi-IN, hr-HR, hu, id, it, ja, ka-GE, kk-KZ, km-KH, kn-IN, ko, ky-KG, lt-LT, lv-LV, mk-MK, ml-IN, mr-IN, ms, my, nb, nl, pa-IN, pl, pt-BR, pt-PT, ro-RO, ru, sk-SK, sl-SI, sq-AL, sr, sv, sw, ta-IN, te-IN, th, tl-PH, tr, ug, uk-UA, ur, vi, yue, zh-CN, zh-HK, zh-Hant"}
{"level":30,"time":"2024-04-10T22:52:07.913Z","msg":"locale: Preferred locales: en"}
{"level":30,"time":"2024-04-10T22:52:07.913Z","msg":"locale: Locale Override: null"}
{"level":30,"time":"2024-04-10T22:52:07.916Z","msg":"locale: Matched locale: en"}
{"level":40,"time":"2024-04-10T22:52:07.974Z","msg":"intl.onWarn [@formatjs/intl] \"defaultRichTextElements\" was specified but \"message\" was not pre-compiled. \nPlease consider using \"@formatjs/cli\" to pre-compile your messages for performance.\nFor more details see https://formatjs.io/docs/getting-started/message-distribution"}
{"level":30,"time":"2024-04-10T22:52:07.975Z","msg":"locale: Text info direction for en: ltr"}
{"level":30,"time":"2024-04-10T22:52:07.976Z","msg":"app ready"}
{"level":30,"time":"2024-04-10T22:52:07.977Z","msg":"starting version 7.4.0"}
{"level":30,"time":"2024-04-10T22:52:07.977Z","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2024-04-10T22:52:07.980Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2024-04-10T22:52:07.985Z","msg":"MainSQL: updateSchema:\n  Current user_version: 1000;\n  Most recent db schema: 1000;\n  SQLite version: 3.42.0;\n  SQLCipher version: 4.5.5 community;\n  (deprecated) schema_version: 441;\n"}
{"level":30,"time":"2024-04-10T22:52:07.993Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2024-04-10T22:52:07.993Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2024-04-10T22:52:07.994Z","msg":"getSystemTraySetting saw --use-tray-icon flag. Returning MinimizeToSystemTray"}
{"level":30,"time":"2024-04-10T22:52:07.995Z","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":1920,\"height\":1006,\"minWidth\":300,\"minHeight\":200,\"autoHideMenuBar\":false,\"titleBarStyle\":\"default\",\"backgroundColor\":\"#3a76f0\",\"webPreferences\":{\"devTools\":false,\"spellcheck\":true,\"enableBlinkFeatures\":\"CSSPseudoDir,CSSLogical\",\"enablePreferredSizeMode\":true,\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"sandbox\":false,\"contextIsolation\":true,\"preload\":\"[REDACTED]/preload.bundle.js\",\"backgroundThrottling\":true,\"disableBlinkFeatures\":\"Accelerated2dCanvas,AcceleratedSmallCanvases\"},\"icon\":\"[REDACTED]/images/signal-logo-desktop-linux.png\",\"x\":0,\"y\":74}"}
{"level":30,"time":"2024-04-10T22:52:08.107Z","msg":"spellcheck: user locales: [\"en\"]"}
{"level":30,"time":"2024-04-10T22:52:08.107Z","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":"2024-04-10T22:52:08.107Z","msg":"spellcheck: setting languages to: [\"en\"]"}
{"level":30,"time":"2024-04-10T22:52:08.738Z","msg":"got fast theme-setting value system"}
{"level":30,"time":"2024-04-10T22:52:09.815Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2024-04-10T22:52:09.818Z","msg":"main window is ready-to-show"}
{"level":30,"time":"2024-04-10T22:52:09.818Z","msg":"showing main window"}
{"level":30,"time":"2024-04-10T22:52:09.832Z","msg":"System tray service: created"}
{"level":30,"time":"2024-04-10T22:52:09.837Z","msg":"System tray service: updating main window. Previously, there was not a window, and now there is"}
{"level":30,"time":"2024-04-10T22:52:09.837Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-04-10T22:52:09.837Z","msg":"System tray service: enabling"}
{"level":30,"time":"2024-04-10T22:52:09.838Z","msg":"System tray service: rendering the tray"}
{"level":30,"time":"2024-04-10T22:52:09.838Z","msg":"System tray service: creating the tray"}
{"level":30,"time":"2024-04-10T22:52:09.845Z","msg":"Begin ensuring permissions"}
{"level":30,"time":"2024-04-10T22:52:09.855Z","msg":"Ensuring file permissions for 4 files"}
{"level":30,"time":"2024-04-10T22:52:09.863Z","msg":"Finish ensuring permissions in 18ms"}
{"level":30,"time":"2024-04-10T22:52:10.238Z","msg":"MainSQL: slow query getAllStories duration=43ms"}
{"level":30,"time":"2024-04-10T22:52:40.525Z","msg":"Prevent display sleep service: allowing display sleep"}
{"level":30,"time":"2024-04-10T22:52:40.525Z","msg":"Background throttling enabled because no call is active"}
{"level":30,"time":"2024-04-10T22:52:40.965Z","msg":"updater/start: Updates disabled - not starting new version checks"}
{"level":30,"time":"2024-04-10T22:52:40.970Z","msg":"App loaded - time: 32995"}
{"level":30,"time":"2024-04-10T22:52:40.970Z","msg":"SQL init - time: 76"}
{"level":30,"time":"2024-04-10T22:52:40.971Z","msg":"Preload - time: 1052"}
{"level":30,"time":"2024-04-10T22:52:40.971Z","msg":"WebSocket connect - time: 30752"}
{"level":30,"time":"2024-04-10T22:52:40.971Z","msg":"Processed count: 1"}
{"level":30,"time":"2024-04-10T22:52:40.971Z","msg":"Messages per second: 0.8396305625524769"}
{"level":30,"time":"2024-04-10T22:52:42.257Z","msg":"MainSQL: slow query removeMessages duration=100ms"}
{"level":30,"time":"2024-04-10T22:55:08.376Z","msg":"MainSQL: slow query getMessagesNeedingUpgrade duration=108ms"}
{"level":30,"time":"2024-04-10T22:55:08.508Z","msg":"MainSQL: slow query saveMessages duration=53ms"}
popey commented 5 months ago

Thanks for filing the issue Carsten.

I wasn't able to reproduce this.

Can you reproduce this and give us the steps of where you posted the link?

Here's what I did

1) On the desktop, create a test group with only me in it 2) On the phone, open the test group 3) On the phone, paste the link to the group 4) On the desktop, the story appeared, and the image appeared too..

Did you do something different?

image

CarstenKochElsdorf commented 5 months ago

Hi Alan,the problem is not limited to the example that I made a screenshot of.EVERY image that appears correctly on the iPadOS version of Signal is missing on the ARM version. I just picked one of hundreds of examples that I saw.Viele Grüße,Carsten.Am 11.04.2024 um 11:57 schrieb Alan Pope @.***>: Thanks for filing the issue Carsten. I wasn't able to reproduce this. Can you reproduce this and give us the steps of where you posted the link? Here's what I did

On the desktop, create a test group with only me in it On the phone, open the test group On the phone, paste the link to the group On the desktop, the story appeared, and the image appeared too..

Did you do something different? image.png (view on web)

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

jnsgruk commented 2 months ago

I'm unable to reproduce this, and haven't been able to through a number of machines/versions. Could this be something in your network?

CarstenKochElsdorf commented 2 months ago

No. I have several machines with Signal on the same network. It works fine on x86 linux, ARM iOS and x86 macos. Just the ARM Linux version on my orange pi 5 shows the problem. I am thinking of replacing the orange pi with an x86 machine, since this is really annoying.

jnsgruk commented 2 months ago

Ah interesting, I had misunderstood the nuance of it being broken on arm64 specifically. I don't have a way to test that right now, unfortunately. @popey was your testing above on your arm64 machine?

esoadamo commented 2 months ago

Hi, I can confirm that I have the same bug on my RPi 4, but not on any of my non-arm machines.

jnsgruk commented 2 months ago

Hi, can you try the latest stable release? I've just rebased the snap on core24.

CarstenKochElsdorf commented 2 months ago

I have refreshed signal-desktop to signal-desktop 7.18.0 680 latest/stable snapcrafters✪ -

here is what a link to this issue looks like on my Linux opim 5.10.110-rockchip-rk3588 #1.1.6 SMP Thu Jun 1 21:23:54 CST 2023 aarch64 aarch64 aarch64 GNU/Linux orange pi: s-d

CarstenKochElsdorf commented 2 months ago

…and here is what it looks like on my iPad:

IMG_6786

so, unfortunately, the bug is still there.

jnsgruk commented 2 months ago

Are there any additional logs in the terminal as you open a message with an image?

CarstenKochElsdorf commented 2 months ago

When I initially open a chat with messages containing an image, I get

xkbcommon: ERROR: failed to add default include path /usr/share/X11/xkb {"level":40,"time":"2024-08-02T13:17:53.684Z","msg":"OptionalResourceService: loaded emoji-index-en.json from disk"}

but when I click the down arrow in the black circle, I get no extra messages.

CarstenKochElsdorf commented 1 week ago

https://github.com/dennisameling has fixed the bug. See https://github.com/dennisameling/Signal-Desktop/issues/17

popey commented 1 week ago

image

works here with the latest patch

popey commented 1 week ago

(although weirdly, if I revert back to the version in the store, after running this one, the store version works for me now - I guess this unwedged something?)