diff --git a/snap/local/usr/bin/signal-desktop-wrapper b/snap/local/usr/bin/signal-desktop-wrapper index 3caf4d69f..6762c224e 100755 --- a/snap/local/usr/bin/signal-desktop-wrapper +++ b/snap/local/usr/bin/signal-desktop-wrapper @@ -8,7 +8,16 @@ set -euo pipefail tray_icon="$(snapctl get tray-icon)" # Define an array of command line options -opts=() +opts=( + # Don't run the chrome sandbox inside the snap environment, rely on AppArmor confinement + "--no-sandbox" + # See https://github.com/snapcrafters/signal-desktop/issues/300 + # An upstream Chrome issue blocks the correct inovation of libsecret from within + # snap/flatpak environments, which means that Signal loses access to the encryption + # key used to encrypt the local database, and needs to be re-linked (losing all message + # history) every time it's launched. + "--password-store=basic" +) # If the the tray icon is enabled, add to the list of command line args if [[ "${tray_icon}" == "true" ]]; then @@ -16,4 +25,4 @@ if [[ "${tray_icon}" == "true" ]]; then fi # Run signal-desktop with the gathered arguments -exec "${SNAP}/opt/Signal/signal-desktop" "--no-sandbox" "${opts[@]}" "$@" +exec "${SNAP}/opt/Signal/signal-desktop" "${opts[@]}" "$@" diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 4f8418f50..f68a3b2b3 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -194,7 +194,6 @@ apps: - removable-media - unity7 - screen-inhibit-control - - password-manager-service environment: TMPDIR: $XDG_RUNTIME_DIR # Included temporarily until https://github.com/snapcore/snapcraft-desktop-integration/issues/28