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]: Create/upload Sticker Pack menu option causes a crash #253

Closed codywizlet closed 10 months ago

codywizlet commented 10 months ago

What happened?

The app crashes when going to to File->Create/upload sticker pack

The following message appears. BTW, the 'Copy error and quit' does not actually copy the error to the clipboard.

Unhandled Promise Rejection

Error: ERR_FILE_NOT_FOUND (-6) loading 'file:///snap/signal-desktop/598/opt/Signal/resources/app.asar/sticker-creator/dist/index.html' at rejectAndCleanup (node:electron/js2c/browser_init:2:84559) at WebContents.failListener (node:electron/js2c/browser_init:2:84772) at WebContents.emit (node:events:514:28)

I am running the snap on

Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:    22.04
Codename:   jammy

Screenshot: image

What should have happened?

I would have expected that when I clicked the menu, a tool for creating or uploading a sticker pack would have shown.

I also would have expected that clicking 'Copy error and quit' would cause the error from the dialog to be present as text in my system clipboard.

Output of snap info $snap_name

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: today at 09:52 CET
channels:
  latest/stable:    6.43.1 2024-01-05 (598) 188MB -
  latest/candidate: 6.43.1 2024-01-05 (598) 188MB -
  latest/beta:      ↑                             
  latest/edge:      ↑                             
installed:          6.43.1            (598) 188MB -

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.61.1
snapd   2.61.1
series  16
ubuntu  22.04
kernel  6.5.0-10013-tuxedo

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/598/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/wizlet/snap/signal-desktop/598/.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: 20:34:25.247: Failed to load module "xapp-gtk3-module"
Gtk-Message: 20:34:25.247: Failed to load module "appmenu-gtk-module"
Gtk-Message: 20:34:25.248: Not loading module "atk-bridge": The functionality is provided by GTK natively. Please try to not load it.
{"level":30,"time":"2024-01-06T19:34:25.425Z","msg":"got fast localeOverride setting null"}
{"level":30,"time":"2024-01-06T19:34:25.426Z","msg":"app.ready: hour cycle preference: UnknownPreference"}
{"level":30,"time":"2024-01-06T19:34:25.426Z","msg":"app.ready: preferred system locales: en-US, en"}
{"level":30,"time":"2024-01-06T19:34:25.426Z","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-01-06T19:34:25.426Z","msg":"locale: Preferred locales: en-US, en"}
{"level":30,"time":"2024-01-06T19:34:25.426Z","msg":"locale: Locale Override: null"}
{"level":30,"time":"2024-01-06T19:34:25.428Z","msg":"locale: Matched locale: en"}
{"level":40,"time":"2024-01-06T19:34:25.454Z","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-01-06T19:34:25.454Z","msg":"locale: Text info direction for en: ltr"}
{"level":30,"time":"2024-01-06T19:34:25.455Z","msg":"app ready"}
{"level":30,"time":"2024-01-06T19:34:25.456Z","msg":"starting version 6.43.1"}
{"level":30,"time":"2024-01-06T19:34:25.456Z","msg":"media access status [object Undefined] [object Undefined]"}
{"level":30,"time":"2024-01-06T19:34:25.457Z","msg":"got fast theme-setting value light"}
{"level":30,"time":"2024-01-06T19:34:25.457Z","msg":"MainSQL: updateSchema:\n  Current user_version: 970;\n  Most recent db schema: 970;\n  SQLite version: 3.42.0;\n  SQLCipher version: 4.5.5 community;\n  (deprecated) schema_version: 437;\n"}
{"level":30,"time":"2024-01-06T19:34:25.458Z","msg":"got fast theme-setting value light"}
{"level":30,"time":"2024-01-06T19:34:25.458Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2024-01-06T19:34:25.459Z","msg":"getSystemTraySetting had no flags and did no DB lookups. Returning DoNotUseSystemTray"}
{"level":30,"time":"2024-01-06T19:34:25.459Z","msg":"Initializing BrowserWindow config: {\"show\":false,\"width\":1401,\"height\":937,\"minWidth\":300,\"minHeight\":200,\"autoHideMenuBar\":false,\"titleBarStyle\":\"default\",\"titleBarOverlay\":false,\"backgroundColor\":\"#3a76f0\",\"webPreferences\":{\"devTools\":false,\"spellcheck\":true,\"enableBlinkFeatures\":\"CSSPseudoDir,CSSLogical\",\"nodeIntegration\":false,\"nodeIntegrationInWorker\":false,\"sandbox\":false,\"contextIsolation\":true,\"preload\":\"[REDACTED]/preload.bundle.js\",\"backgroundThrottling\":true,\"enablePreferredSizeMode\":true,\"disableBlinkFeatures\":\"Accelerated2dCanvas,AcceleratedSmallCanvases\"},\"icon\":\"[REDACTED]/images/signal-logo-desktop-linux.png\",\"x\":2090,\"y\":263}"}
{"level":30,"time":"2024-01-06T19:34:25.484Z","msg":"spellcheck: user locales: [\"en-US\",\"en\"]"}
{"level":30,"time":"2024-01-06T19:34:25.484Z","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-01-06T19:34:25.484Z","msg":"spellcheck: setting languages to: [\"en-US\",\"en\"]"}
[44327:0106/203425.494992: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.252" (uid=1000 pid=44327 comm="/snap/signal-desktop/598/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=2866 comm="/lib/systemd/systemd-logind " label="unconfined")
{"level":30,"time":"2024-01-06T19:34:25.762Z","msg":"got fast theme-setting value light"}
{"level":30,"time":"2024-01-06T19:34:29.617Z","msg":"got fast spellcheck setting true"}
{"level":30,"time":"2024-01-06T19:34:29.621Z","msg":"System tray service: created"}
{"level":30,"time":"2024-01-06T19:34:29.621Z","msg":"System tray service: updating main window. Previously, there was not a window, and now there is"}
{"level":30,"time":"2024-01-06T19:34:29.621Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-01-06T19:34:29.621Z","msg":"Begin ensuring permissions"}
{"level":30,"time":"2024-01-06T19:34:29.622Z","msg":"Ensuring file permissions for 4 files"}
{"level":30,"time":"2024-01-06T19:34:29.622Z","msg":"Finish ensuring permissions in 1ms"}
{"level":30,"time":"2024-01-06T19:34:29.624Z","msg":"main window is ready-to-show"}
{"level":30,"time":"2024-01-06T19:34:29.624Z","msg":"showing main window"}
{"level":30,"time":"2024-01-06T19:34:29.631Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-01-06T19:34:30.237Z","msg":"MainSQL: slow query getAllStories duration=505ms"}
{"level":30,"time":"2024-01-06T19:34:30.305Z","msg":"Prevent display sleep service: allowing display sleep"}
{"level":30,"time":"2024-01-06T19:34:30.305Z","msg":"Background throttling enabled because no call is active"}
{"level":30,"time":"2024-01-06T19:34:30.726Z","msg":"updater/start: Updates disabled - not starting new version checks"}
{"level":30,"time":"2024-01-06T19:34:30.727Z","msg":"App loaded - time: 5272"}
{"level":30,"time":"2024-01-06T19:34:30.727Z","msg":"SQL init - time: 33"}
{"level":30,"time":"2024-01-06T19:34:30.727Z","msg":"Preload - time: 3858"}
{"level":30,"time":"2024-01-06T19:34:30.727Z","msg":"WebSocket connect - time: 968"}
{"level":30,"time":"2024-01-06T19:34:30.727Z","msg":"Processed count: 0"}
{"level":30,"time":"2024-01-06T19:34:30.727Z","msg":"Messages per second: 0"}
{"level":30,"time":"2024-01-06T19:34:32.630Z","msg":"got fast theme-setting value light"}
{"level":50,"time":"2024-01-06T19:34:32.650Z","msg":"(node:44327) electron: Failed to load URL: file:[REDACTED]/sticker-creator/dist/index.html with error: ERR_FILE_NOT_FOUND\n(Use `signal-desktop --trace-warnings ...` to show where the warning was created)"}
Unhandled Promise Rejection: Error: ERR_FILE_NOT_FOUND (-6) loading 'file:///snap/signal-desktop/598/opt/Signal/resources/app.asar/sticker-creator/dist/index.html'
    at rejectAndCleanup (node:electron/js2c/browser_init:2:84559)
    at WebContents.failListener (node:electron/js2c/browser_init:2:84772)
    at WebContents.emit (node:events:514:28)
{"level":50,"time":"2024-01-06T19:34:32.651Z","msg":"Unhandled Promise Rejection: Error: ERR_FILE_NOT_FOUND (-6) loading 'file:[REDACTED]/sticker-creator/dist/index.html'\n    at rejectAndCleanup (node:electron/js2c/browser_init:2:84559)\n    at WebContents.failListener (node:electron/js2c/browser_init:2:84772)\n    at WebContents.emit (node:events:514:28)"}
{"level":30,"time":"2024-01-06T19:34:34.796Z","msg":"main window closed event"}
{"level":30,"time":"2024-01-06T19:34:34.796Z","msg":"System tray service: updating main window. Previously, there was a window, and now there is not"}
{"level":30,"time":"2024-01-06T19:34:34.796Z","msg":"System tray service: rendering no tray"}
{"level":30,"time":"2024-01-06T19:34:34.797Z","msg":"quit event {\"hasEventBeenPrevented\":false,\"windowCount\":0,\"mainWindowExists\":false}"}
popey commented 10 months ago

Confirmed. Also seen in other packaging systems.

Related: https://github.com/signalapp/Signal-Desktop/issues/6618 and https://github.com/signalapp/Signal-Desktop/issues/6495

Perhaps - like the arch package, we're not building / bundling the sticker creator.

jnsgruk commented 10 months ago

I've made a fix in #254 that seems to fix the problem -- that should hopefully land today if we can get the necessary approvals! Thanks for the report!

codywizlet commented 10 months ago

Thanks! I can confirm that it's indeed working now

image