revert: roll back flatpak packaging experiment (#271 + follow-ups) (#297)

Reverts #271, #292, #293, #294, #295, #296.

The flatpak CI pipeline itself works end-to-end, but the installed bundle
surfaced three separate manifest issues during smoke-test on Wayland+NVIDIA:

1. GDK_BACKEND is not set, so without an X11 display in the sandbox GTK
   aborts with "Failed to initialize GTK".
2. libayatana-appindicator3 is not bundled in the GNOME 47 runtime, so
   libappindicator-sys panics the main thread.
3. The release binary is compiled via \`cargo build --release\` rather than
   \`cargo tauri build\`, so the \`custom-protocol\` feature is off and
   Tauri falls back to devUrl — the window opens but shows
   "Could not connect to localhost".

Rolling back so main stays on 1.43.0. A follow-up on the original PR
tracks the fixes needed before re-attempting.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Frank Stellmacher
2026-04-24 22:50:06 +02:00
committed by GitHub
parent dd947df0b9
commit 67d51a0975
11 changed files with 20 additions and 316 deletions
@@ -1,89 +0,0 @@
app-id: dev.psysonic.Psysonic
runtime: org.gnome.Platform
runtime-version: '47'
sdk: org.gnome.Sdk
sdk-extensions:
- org.freedesktop.Sdk.Extension.rust-stable
- org.freedesktop.Sdk.Extension.node20
command: psysonic
separate-locales: false
finish-args:
# Network: Subsonic server, Last.fm, Discord RPC, LRCLIB, Bandsintown
- --share=network
- --share=ipc
# Display
- --socket=wayland
- --socket=fallback-x11
# Audio: PulseAudio + ALSA, USB DACs (UMC202HD etc.)
- --socket=pulseaudio
- --device=all
# D-Bus: MPRIS, Discord RPC, tray icon
- --socket=session-bus
- --talk-name=org.mpris.MediaPlayer2.*
- --own-name=org.mpris.MediaPlayer2.psysonic
- --talk-name=com.discordapp.*
# Discord RPC unix socket lives in $XDG_RUNTIME_DIR
- --filesystem=xdg-run/discord-ipc-0:ro
- --filesystem=xdg-run/discord-ipc-1:ro
- --filesystem=xdg-run/discord-ipc-2:ro
- --filesystem=xdg-run/discord-ipc-3:ro
- --filesystem=xdg-run/discord-ipc-4:ro
# Tray icon (GNOME needs AppIndicator extension installed)
- --talk-name=org.kde.StatusNotifierWatcher
- --talk-name=org.freedesktop.Notifications
# Local music library (read-only, for future local-file playback)
- --filesystem=xdg-music:ro
build-options:
append-path: /usr/lib/sdk/rust-stable/bin:/usr/lib/sdk/node20/bin
env:
- CARGO_HOME=/run/build/psysonic/cargo
- CARGO_NET_OFFLINE=true
- RUSTUP_TOOLCHAIN=stable
modules:
- name: psysonic
buildsystem: simple
build-options:
env:
# Disables the in-app updater UI — Flathub owns updates for Flatpak installs
- VITE_PSYSONIC_FLATPAK=1
# Prevents tauri-build from checking whether the Vite dev server is running
- TAURI_SKIP_DEVSERVER_CHECK=true
# Last.fm API keys — replaced with real values by the CI job at build time
- VITE_LASTFM_API_KEY=__LASTFM_KEY__
- VITE_LASTFM_API_SECRET=__LASTFM_SECRET__
# npm offline cache — flatpak-node-generator places sources in flatpak-node/npm-cache
- npm_config_cache=/run/build/psysonic/flatpak-node/npm-cache
build-commands:
# Install npm dependencies from pre-generated offline sources
- npm ci --offline
# Build frontend (dist/ must exist before cargo compiles the Rust crate,
# because tauri-build embeds the assets at compile time)
- npm run build
# Build the Rust binary (offline, using pre-vendored cargo sources)
- cargo build --manifest-path src-tauri/Cargo.toml --release
# Install binary and assets
- install -Dm755 src-tauri/target/release/psysonic "${FLATPAK_DEST}/bin/psysonic"
- install -Dm644 dev.psysonic.Psysonic.desktop "${FLATPAK_DEST}/share/applications/dev.psysonic.Psysonic.desktop"
- install -Dm644 dev.psysonic.Psysonic.metainfo.xml "${FLATPAK_DEST}/share/metainfo/dev.psysonic.Psysonic.metainfo.xml"
- install -Dm644 src-tauri/icons/32x32.png "${FLATPAK_DEST}/share/icons/hicolor/32x32/apps/dev.psysonic.Psysonic.png"
- install -Dm644 src-tauri/icons/128x128.png "${FLATPAK_DEST}/share/icons/hicolor/128x128/apps/dev.psysonic.Psysonic.png"
- install -Dm644 src-tauri/icons/128x128@2x.png "${FLATPAK_DEST}/share/icons/hicolor/256x256/apps/dev.psysonic.Psysonic.png"
- install -Dm644 src-tauri/icons/icon.png "${FLATPAK_DEST}/share/icons/hicolor/512x512/apps/dev.psysonic.Psysonic.png"
sources:
- type: git
url: https://github.com/Psychotoxical/psysonic.git
# Updated automatically by the CI release job; bump manually for local builds
tag: app-v1.43.0
commit: PLACEHOLDER_COMMIT
# Generated by the CI job via flatpak-cargo-generator and flatpak-node-generator.
# Committed into git only for the Flathub mirror repo (separate from this source
# repo); locally, run packages/flatpak/generate-sources.sh to create them.
- cargo-sources.json
- npm-sources.json
- type: file
path: dev.psysonic.Psysonic.desktop
- type: file
path: dev.psysonic.Psysonic.metainfo.xml