Commit Graph
23 Commits
Author SHA1 Message Date
vicrodh a912ced3d0 build: bump Node 20 to Node 24 across CI workflows and Flatpak manifest
Cherry-picked from PR #377 (thanks @Mar0xy) — Node-only portion, no
Discord IPC additions:

- 4 workflows (release-{linux,linux-aarch64,macos,flatpak}.yml) now
  install Node 24
- packaging/flatpak/com.blitzfc.qbz.yml: SDK extension node20 → node24,
  build append-path and npm_config_nodedir aligned

Forcing function: @icons-pack/svelte-simple-icons@7.x already in use
declares engines.node >=24, so Node 20 produces an EBADENGINE warning
in CI. Node 20 also reached EOL on 2026-04-30. Node 24 has been LTS
since October 2025 (~7 months of maturity).

Discord IPC permissions and qbz-wrapper script from #377 were
intentionally NOT cherry-picked — there's no Discord RPC feature in
QBZ today (#336 is still planned but not implemented), so adding the
sandbox permission and the launch wrapper now would expand the
attack surface for nothing. They'll land together with the actual
feature when it ships.

cc
2026-05-05 12:10:07 -06:00
vicrodh afe086e6fd fix(ci): stabilize rc releases and version flatpak artifact
cx
2026-03-01 19:34:24 -06:00
vicrodh c87788f0f8 fix(flatpak): add version to metainfo.xml
Flatpak uses the <releases> section in metainfo.xml to display the
application version. Added a placeholder release entry and updated
the workflow to inject the actual version and date during build.
2026-01-27 20:54:45 -06:00
vicrodh d2f61974d8 Rename App ID: com.blitzkriegfc.qbz → com.blitzfc.qbz
Changes:
- Renamed Flatpak manifest, desktop file, and AppStream metainfo
- Updated App ID in all metadata files
- Fixed MPRIS name: qbz_nix → qbz
- Added NAS support permissions: /mnt, /media, /run/media
- Updated CI workflow to use new filenames
- Updated tauri.conf.json bundle identifier

BREAKING CHANGE: Users will need to migrate data from old App ID directories
Data migration will be implemented in next commit
2026-01-19 15:12:21 -06:00
vicrodh b182d2d6d5 Remove API key injection from GitHub workflows
All API credentials are now managed server-side through the Cloudflare
Workers proxy. Build workflows no longer need to inject secrets into
the binary.

Removed:
- SPOTIFY_API_CLIENT_ID/SECRET from release-linux.yml
- TIDAL_API_CLIENT_ID/SECRET from release-linux.yml
- DISCOGS_API_CLIENT_KEY/SECRET from release-linux.yml
- LAST_FM_API_KEY/SHARED_SECRET from release-linux.yml
- Complete 'Inject API secrets' step from release-flatpak.yml

This completes the API keys refactor for Flathub compliance.
2026-01-17 16:52:34 -06:00
vicrodh bfdb65a680 fix(ci): inject API secrets into Flatpak manifest before build
flatpak-builder doesn't support --env-var, so we inject the secrets
directly into the manifest's build-options.env before building.

cc
2026-01-14 04:52:47 -06:00
vicrodh 5dee9f3bbe fix(ci): pass API secrets to build steps for embedding 2026-01-14 04:33:52 -06:00
vicrodh 97f8f3242f fix(flatpak): remove version suffixes from sdk-extensions
Let flatpak-builder auto-resolve extension versions based on the SDK.
The explicit //25.08 suffix was causing version mismatch errors with
GNOME 49.
2026-01-13 21:55:41 -06:00
vicrodh 8cb6f25f5b fix(flatpak): use 25.08 SDK extensions for GNOME 49 2026-01-13 21:27:43 -06:00
vicrodh 03d1165ba4 Merge main into packaging-workflows and update to GNOME 49 2026-01-13 21:22:50 -06:00
vicrodh b40fc9b7e1 fix(flatpak): use --user flag for flatpak commands in CI 2026-01-13 20:11:57 -06:00
vicrodh d5b0bebaa1 fix(flatpak): add libayatana-appindicator dependencies
- Switch from Freedesktop 23.08 to GNOME 47 runtime (for WebKitGTK)
- Add full ayatana stack: intltool, libdbusmenu, ayatana-ido,
  libayatana-indicator, libayatana-appindicator
- Patch ayatana-ido to make Vala optional
- Fix build commands: use --no-bundle, proper PATH handling
- Add missing finish-args: network, pulseaudio, MPRIS
- Remove xdg-portal feature from tauri-plugin-dialog to avoid
  ashpd/zbus incompatibility

Fixes runtime crash: "Failed to load ayatana-appindicator3"
2026-01-13 19:52:51 -06:00
vicrodh 39acb0b59e fix(flatpak): use GNOME SDK 48 with manual Node/Rust install
- Switch to GNOME SDK 48 which includes webkit2gtk-4.1
- Install Node.js 20 LTS directly from tarball (no SDK extension needed)
- Install Rust via rustup for latest stable version
- Add flatpak build directories to .gitignore
2026-01-12 13:21:28 -06:00
vicrodh 32ac732b7d fix(flatpak): use rustup to install latest Rust in SDK 23.08
SDK 24.08 doesn't have javascriptcoregtk-4.1 (uses webkit 6.0).
SDK 23.08 has Rust 1.81 which doesn't support edition2024.
Solution: use SDK 23.08 with webkit2gtk 4.1 but install Rust via rustup.
2026-01-12 12:40:03 -06:00
vicrodh 6adb979e3d fix(flatpak): upgrade to SDK 24.08 for Rust 2024 edition support
The zbus 5.x crate requires Rust edition2024 which needs Rust 1.85+.
SDK 23.08 only has Rust 1.81. Upgrade to 24.08 which has a newer Rust.
Also upgrade node extension from node20 to node22.
2026-01-12 12:31:41 -06:00
vicrodh 520370eedc fix(flatpak): remove invalid --allow-network flag from workflow
Network access is now enabled via build-args in the flatpak manifest.
2026-01-12 12:19:18 -06:00
vicrodh 4229c5385a fix(flatpak): enable network access for npm during build 2026-01-12 12:04:04 -06:00
vicrodh 3e58803962 feat(build): embed API credentials at compile time
- Add option_env! for Discogs, Spotify, Tidal credentials
- Credentials embedded in binary during CI build
- Falls back to runtime env vars for development/user override
- Add secrets to GitHub Actions workflows for Linux and Flatpak builds
- Fix Linux build: add libasound2-dev, libssl-dev
- Fix Flatpak build: use --user flag for flatpak operations
2026-01-12 11:38:11 -06:00
vicrodh 1b42ce0751 fix(ci): use --user flag for flatpak operations in CI
GitHub Actions runners don't allow system-wide flatpak operations.
Use --user flag for remote-add, install, and flatpak-builder.
2026-01-12 11:19:40 -06:00
vicrodh b8dac90c2a chore(release): sync version from tag 2026-01-12 11:14:15 -06:00
vicrodh 5eac9676de chore(packaging): add linux workflows and manifests 2026-01-12 11:14:15 -06:00
vicrodh 1ed09acda3 chore(release): sync version from tag 2026-01-12 10:16:06 -06:00
vicrodh 13af89753d chore(packaging): add linux workflows and manifests 2026-01-12 10:09:39 -06:00