Signal-desktop expired

signal reports itself as version 6.42.1
6.42.1 on manjaro arm
the package manager claims to have version 6.44.1-1 (packages.manjaro.org stable 6.44.1-1). tried removing and reinstalling of the package, but got the same result.

now instead of sending the message, a pop-up in the bottom left informs me that i have to update to continue messaging. sending messages is not possible any more:

btw, windows version currently has version 7.3.0

are you sure?

sudo pacman -S signal-desktop
signal-desktop-7.0.0-1

yup. according to packages.manjaro.org signal-desktop 6.44.1-1 is the latest for arm stable

Unfortunately, the binary upstream source that was being used has not been updated. We also do not have a current maintainer for this package. I just tried building it from source and it failed. Since the current version is insecure, I will be dropping from the repos. You can install the official Flatpak instead.

unfortunately there is only a x86_64 but no aarch64 version on flatpak :pensive:

Oh, sorry I didn’t notice it was x86_64 only. :man_shrugging:

sorry, my bad, I didn’t notice it was ARM repo… :neutral_face:

The only version the signal.org people provide right now for aarch64 is signal-desktop-7.2.0.alpha.1. I have built it and pushed it to the unstable branch when the mirrors sync. I have tested it and seems to work ok.

It requires several libs for depends and there has been quite a bit of package upgrades lately so I am worried about lib versions so I did not push to all branches and do not want to build a separate package for each branch. Switch to the unstable branch and see if signal-desktop will install. If not you will have to updated everything to the unstable branch first. These libs I am particularly worried about:

libasound.so=2-64
libatk-bridge-2.0.so=0-64
libcairo.so=2-64
libdbus-1.so=3-64
libexpat.so=1-64

Crash when file>create stickers

{"level":50,"time":"2024-03-23T19:25:25.429Z","msg":"(node:33159) electron: Failed to load URL: file:[REDACTED]/sticker-creator/dist/index.html with error: ERR_FILE_NOT_FOUND"}
Unhandled Promise Rejection: Error: ERR_FILE_NOT_FOUND (-6) loading 'file:///opt/signal/resources/app.asar/sticker-creator/dist/index.html'
    at rejectAndCleanup (node:electron/js2c/browser_init:2:75584)
    at WebContents.failListener (node:electron/js2c/browser_init:2:75797)
    at WebContents.emit (node:events:514:28)
{"level":50,"time":"2024-03-23T19:25:25.430Z","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:75584)\n    at WebContents.failListener (node:electron/js2c/browser_init:2:75797)\n    at WebContents.emit (node:events:514:28)"}
{"level":30,"time":"2024-03-23T19:25:31.282Z","msg":"main window closed event"}

I have never used that. I did install 6.44.1 and get the same thing today. So I do not know if that has been happening all along or there is an issue with our electron version installed. I removed the alpha version from the repo. It had been there for about 3 weeks but I ignored it as I usually do not do alpha or beta releases.

Until something improves along the way it looks like signal-desktop for aarch64 is on hold for a while.

i have tested aur package
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=signal-desktop-beta
just modifying beta2 and checksum

It should probably build against v7.3.1 too/

Yep it does and the file>create stickers works. I just wonder why they have not released a current aarch64 package yet on their Downloads. The major issue is it requires a make depend fpm from aur to compile for aarch64 from source which requires several ruby gems. I cut out quite a few gems by disabling the checks in a couple of packages. I used this source code from their git:

https://github.com/signalapp/Signal-Desktop/tree/7.3.x

Here is the package signal-desktop-7.3.1-1-aarch64.pkg.tar.zst built on the unstable branch.

https://drive.google.com/file/d/184PUC3yBlM2bOmh8aEdGLqjHdBH4JBTt/view?usp=sharing

as far as i can tell this build does work quite well, thank you!

For use with tray icon the beta version has an option available.
For stable version, change the launcher with

--use-tray-icon

For wayland update the launcher with (–enable-features=WaylandWindowDecorations just for gnome)

--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WaylandWindowDecorations

or the environment

ELECTRON_OZONE_PLATFORM_HINT=auto

and launcher for gnome

--enable-features=WaylandWindowDecorations

Why not make an official package with fpm ? Version 7.4.0 is out and you will have probably to make a “forum’s maintenance” and signal can be a sensitive issue relating to data protection, so you have to trust the sources

I publish my own pkgbuild to empower people

# Maintainer: Eduard Tolosa <edu4rdshl@protonmail.com>
# PKGBUILD modified from kpcyrd <kpcyrd[at]archlinux[dot]org>
# Contributor: Jean Lucas <jean@4ray.co>
# This package is just an adaptation of the signal-desktop package
# that is in the official repos in order to provide a version
# of signal that does not use precompiled binaries.

pkgname=signal-desktop
_pkgname=Signal-Desktop
_sticker_creator="sticker-creator"
pkgver=7.4.0
pkgrel=1
pkgdesc='Signal Private Messenger for Linux.'
license=('GPL3')
conflicts=('signal-desktop-beta-bin')
arch=('aarch64')
url="https://signal.org"
depends=('gtk3' 'hicolor-icon-theme' 'libasound.so' 'libatk-bridge-2.0.so' 'libcairo.so' 'libdbus-1.so'
        'libexpat.so' 'libgio-2.0.so' 'libpango-1.0.so' 'libxkbcommon.so' 'libxss')
# We need libxcrypt-compat for it to build: https://github.com/electron-userland/electron-builder-binaries/issues/47
makedepends=('yarn' 'git' 'nodejs' 'npm' 'python' 'git-lfs' 'libxcrypt-compat' 'node-gyp')
optdepends=('xdg-desktop-portal: Screensharing with Wayland')
makedepends_aarch64=('fpm')
source=(
  "${pkgname}-${pkgver}.tar.gz::https://github.com/signalapp/${_pkgname}/archive/v${pkgver}.tar.gz"
  "dns-fallback-${pkgver}.json::https://raw.githubusercontent.com/kpcyrd/signal-desktop-dns-fallback-extractor/${pkgver}/dns-fallback.json"
  "${pkgname}.desktop"
  )
sha512sums=('51edb647832a1f9658abb7fddb4c35e8c84f5ea73c36f52bb02cf3460b871ace5bc6a86b439df738d6fbc418f0753e717962a0edefa95a0d4b2ca846fa11371e'
            'aa79c2d440a69387f4bd07f95ecee4237d09bfae32abcb2afd4d1ecc90be1f68fa88bfa8eb4b570d9ef5a39b01ff58ef221231d8bd9a57cd888624e53380f113'
            '6ac4f336e5fd2bb9aec2a9f3d14ef5f38953bdc6ed1162370e30c32b1a93115eab5683e4bfb3092efcd53b607e438880321a9075e1f6aaf2835568d167a80c8f')

prepare() {
  cd "${_pkgname}-${pkgver}"

  git lfs install

  # Allow higher Node versions
  sed 's#"node": "#&>=#' -i package.json

  cd ${_sticker_creator}
  yarn install

  cd ..
  yarn install --ignore-engines
}

build() {
  cd "${_pkgname}-${pkgver}"

# temporary fix for openssl3 (not necessary)
#  export NODE_OPTIONS=--openssl-legacy-provider

  cd ${_sticker_creator}
  USE_SYSTEM_FPM=$([ $(uname -m) == "aarch64" ] && echo true || echo false) bash -c 'yarn build'

  cd ..
  
# Fix reproducible builds, use official dns-fallback.json instead of the generated one
# https://github.com/signalapp/Signal-Desktop/issues/6823

cp "../dns-fallback-${pkgver}.json" build/dns-fallback.json
> ts/scripts/generate-dns-fallback.ts

  

yarn generate

USE_SYSTEM_FPM=$([ $(uname -m) == "aarch64" ] && echo true || echo false) bash -c 'yarn build:esbuild:prod && yarn build:release --linux dir'
}

package() {
  cd "${_pkgname}-${pkgver}"

  install -d "${pkgdir}/usr/"{lib,bin}

  case "${CARCH}" in
    "aarch64") folder="linux-arm64-unpacked" ;;
    *) folder="linux-unpacked" ;;
  esac
  cp -a release/${folder} "${pkgdir}/usr/lib/${pkgname}"

  ln -s "/usr/lib/${pkgname}/${pkgname}" "${pkgdir}/usr/bin/"

  chmod u+s "${pkgdir}/usr/lib/${pkgname}/chrome-sandbox"

  install -Dm 644 "../${pkgname}.desktop" -t "${pkgdir}/usr/share/applications"
  for i in 16 24 32 48 64 128 256 512 1024; do
    install -Dm 644 "build/icons/png/${i}x${i}.png" \
      "${pkgdir}/usr/share/icons/hicolor/${i}x${i}/apps/${pkgname}.png"
  done
}

aren’t you using an automated build system?

i’m helping users, who never used a terminal, who work on raspberries and they now rely on someone to build signal for them. but even if i learn how to build (and distribute) software packages for manjaro now, they would have to trust me on this sensitive issue. i don’t think that was the idea either :thinking:

don’t you want to reconsider the decision and provide a package that’s trusted because it’s built by the distribution?

I’m not an official packager with access to an automated build system. We need a maintainer for signal and fpm in the manjaro gitlab repository, and for the moment there aren’t many. The situation may improve with arch’s official acceptance of the arm architecture. In the meantime, the best way is to compile the package yourself and ask for support if it doesn’t work. Version 7.8 has been released with support for the notification area.

1 Like

ok, i tried makepkg but needed fpm. so i enabled the AUR in pamac to install fpm but this fails with

Create electron25...
==> ERROR: electron25 is not available for the 'aarch64' architecture.

what do i need to do?

Neither the signal-desktop nor electron25 package is available in the ARM repos.