Commit graph

48 commits

Author SHA1 Message Date
KhooLy
15ca2b3e02 ci: fetch VLC directly from download.videolan.org instead of the mirror-selecting get.videolan.org
Some checks failed
Warm Windows ANGLE Cache / warm-angle-cache (push) Has been cancelled
The Windows runner's redirect target served a 200 response with a 29KB
error page instead of the real ~80MB archive. download.videolan.org is
VideoLan's own origin, not the geo-mirror load balancer.
2026-07-30 23:23:19 +03:00
KhooLy
f9918db942 ci(windows): surface the real Expand-Archive failure instead of a swallowed exception 2026-07-30 23:03:16 +03:00
KhooLy
14ab9a0608 ci: stop checksum-verifying VLC downloads against get.videolan.org's own mirror-routed sha256
The checksum comparison kept failing even with retries, most likely because
not every mirror in VideoLan's round-robin hosts the .sha256 sidecar file.
fetch-libmpv.sh already trusts HTTPS from its source without a checksum;
do the same here.
2026-07-30 22:45:39 +03:00
KhooLy
48623de870 fix(macos): mark extern C blocks unsafe for edition 2024, fix mismatched-type build error
ci: retry VLC checksum verification since get.videolan.org round-robins mirrors
2026-07-30 22:13:58 +03:00
KhooLy
53367714ae ci: dereference symlinks when bundling libvlc.so on Linux, verify VLC downloads against upstream sha256 2026-07-30 21:37:18 +03:00
KhooLy
441b85b2d7 ci: fix stale VLC checksums, add libVLC bundling diagnostics on Linux 2026-07-30 21:31:55 +03:00
KhooLy
a0b9b5d14d chore: bump to Rust edition 2024, update GitHub Actions to latest majors
Some checks failed
Warm Windows ANGLE Cache / warm-angle-cache (push) Has been cancelled
2026-07-28 15:27:42 +03:00
KhooLy
bf3d74b0c2 ci(desktop): publish signed apt/dnf repos and AUR package on release 2026-07-28 15:11:28 +03:00
KhooLy
f0ce797018 fix(ci): stop bundling GStreamer libs in AppImage, causing symbol mismatch with system WebKitGTK 2026-07-28 14:45:03 +03:00
KhooLy
992a901162 ci(desktop): schedule ANGLE cache warm-up every 3 days
Some checks are pending
Warm Windows ANGLE Cache / warm-angle-cache (push) Waiting to run
The warm-cache workflow only fired on pushes touching build.yml, so a
quiet week let GitHub's 7-day cache eviction kick in and the next
Windows release build paid a ~20min cold vcpkg ANGLE rebuild (v0.1.28).
2026-07-27 22:32:17 +03:00
KhooLy
90a35244bf Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src-tauri/src/oauth.rs
2026-07-27 16:37:58 +03:00
KhooLy
ff7159737c ci(desktop): bundle libVLC runtime in CI builds
Downloads and verifies (checksum) the libVLC 3.0.23 runtime for
Windows/macOS/Linux CI jobs and copies libvlc + its plugins next to
the app binary, alongside the existing libmpv bundling — needed now
that libVLC renders embedded instead of via a system install.
2026-07-27 16:14:16 +03:00
KhooLy
6365ab189d Ad-hoc sign macOS release bundle
Some checks are pending
Warm Windows ANGLE Cache / warm-angle-cache (push) Waiting to run
2026-07-26 19:29:23 +03:00
KhooLy
a64e7d1450 Fix macOS libmpv portability check 2026-07-26 19:03:10 +03:00
KhooLy
6e11fc679a Release v0.1.29 with mpv gpu-next.17 2026-07-26 18:58:50 +03:00
KhooLy
f28c52c2d8 ci: validate bundled macOS libraries
Some checks are pending
Warm Windows ANGLE Cache / warm-angle-cache (push) Waiting to run
2026-07-26 03:42:55 +03:00
KhooLy
82560d788b Bundle GStreamer plugins in Linux builds for media framework support
AppImage now keeps libgst*/liborc* libs instead of stripping all .so files, and deb/rpm packages declare gstreamer1.0-plugins-base/good as dependencies.
2026-07-13 19:58:44 +03:00
KhooLy
7be07f828e fix: quote ANGLE cache warm command 2026-07-11 20:38:43 +03:00
KhooLy
18147c6a08 fix: register ANGLE cache workflow triggers 2026-07-11 20:36:23 +03:00
KhooLy
d36d76d904 Load skip segments before playback 2026-07-11 20:34:13 +03:00
KhooLy
d6d2329213 Fix Windows vcpkg cache 2026-07-11 00:42:27 +03:00
KhooLy
4dd191a433 Add safety-net dedup for duplicate LC_RPATH in fetched libmpv.dylib
Guards against macOS 15+ dyld rejecting the prebuilt libmpv artifact
even if the upstream mpv-fork build ever regresses this again.
2026-07-10 15:57:13 +03:00
KhooLy
c0c7f4b2af Wire AniList OAuth secrets into release builds
FLUXA_ANILIST_CLIENT_ID/SECRET were never passed to the CI build
jobs, so release builds compiled ANILIST_CLIENT_ID to empty and
users saw "FLUXA_ANILIST_CLIENT_ID is not set." in Settings.
2026-07-10 15:39:12 +03:00
KhooLy
6cf60c3b53 Cache vcpkg binary packages 2026-07-10 14:24:09 +03:00
KhooLy
3f3735f73e Populate latest.json changelog for the in-app updater
Release notes were only ever written to the GitHub release body, not
latest.json's notes field, so the updater modal's changelog box was
always empty.
2026-07-09 22:22:34 +03:00
KhooLy
cb44ca072a ci: re-sign stripped appimage and patch latest.json 2026-07-06 13:27:47 +03:00
KhooLy
395882ee67 ci(windows): bundle every vcpkg ANGLE DLL, not just libEGL/libGLESv2
libGLESv2.dll depends on a third DLL (z.dll, vcpkg's zlib build) that
this step never copied into src-tauri/lib/. Combined with the
find_and_load_dll() search-path bug fixed in the previous commit, that
made ANGLE/EGL context creation fail on every Windows install built by
this workflow, regardless of the code fix, since the file simply
wasn't in the bundle. Copy the whole vcpkg bin/ output instead of
naming individual DLLs, and check for z.dll explicitly in the
verification step so this can't silently regress again.
2026-07-05 17:07:51 +03:00
KhooLy
741f2e7e32 ci: hide updater signature assets from releases 2026-07-03 17:49:25 +03:00
KhooLy
2d6b189cb3 ci: fix vcpkg cache path, serialize draft creation, support manual builds
The ANGLE cache pointed at ${{ env.VCPKG_INSTALLATION_ROOT }}, which is a
runner machine variable invisible to the env expression context, so the
paths expanded empty and ANGLE rebuilt from source on every Windows run.
Hardcode C:\vcpkg paths.

Add a create-release job so the three build jobs upload into one existing
draft instead of racing to create it. Gate all release steps on tag pushes
so workflow_dispatch produces plain builds with uploaded artifacts instead
of a release named after the branch. Add concurrency cancellation, job
timeouts, a macOS libmpv otool/lipo check mirroring the Linux ldd check,
a Windows bundled-DLL presence check, and a LIBMPV_TAG env knob for
pinning the libmpv fetch.
2026-07-02 14:10:01 +03:00
KhooLy
aabea628ce fix: prepare updater flow for 0.1.19 release 2026-06-27 21:27:13 +03:00
KhooLy
ef455f48b3 feat: prepare desktop release updates 2026-06-27 20:47:10 +03:00
KhooLy
c19c90e825 fix: resolve AppImage path before cd in the GTK-strip CI step
The path from find was relative to the repo root, but the script cd'd
into a tmpdir before using it, so the appimage-extract call resolved
against the wrong directory and failed with "No such file or
directory". Resolve to an absolute path up front.
2026-06-20 20:54:31 +03:00
KhooLy
021590613e fix: strip bundled GTK3/WebKit2GTK from the Linux AppImage
Tauri's bundler hardcodes linuxdeploy --plugin gtk for AppImage
builds, which bundles a full GTK3/WebKit2GTK stack built against
whatever Ubuntu's CI image ships. That bundled WebKitGTK version
(Ubuntu 24.04's ~2.44.x) behaves differently than a typical desktop's
system WebKitGTK when the player surface reparents the webview into
a GtkOverlay at runtime — confirmed locally that stripping it and
falling back to the host's WebKitGTK (matching dev mode, which never
had this bug) fixes the player controls overlay not rendering.

libmpv/ffmpeg/codec libraries are unaffected — they live in a
separate app-specific resource directory, not Tauri's own bundling,
so they stay bundled since codec ABI genuinely varies across distros
in ways system packages can't be relied on for.
2026-06-20 20:35:15 +03:00
KhooLy
09b7840ce0 ci: explicitly fetch tags before computing release note range
actions/checkout's fetch-depth: 0 doesn't reliably fetch other tag
refs on its own, so git describe found no previous tag and the
release notes silently fell back to the entire repo history.
2026-06-18 22:36:42 +03:00
KhooLy
0c0d352573 ci: fix apt cache ownership, use a real mirror redirect 2026-06-18 22:13:11 +03:00
KhooLy
85fddc0d17 ci: switch off the slow Azure apt mirror on the Linux build 2026-06-18 21:50:36 +03:00
KhooLy
ddfbc409c1 ci: strip commit type prefix and capitalize release note entries 2026-06-18 21:41:28 +03:00
KhooLy
0f85d77d70 ci: list each commit with its hash/link in release notes instead of GitHub's auto-summary 2026-06-18 21:38:05 +03:00
KhooLy
1882ee2488 ci: fetch latest mpv fork release instead of a pinned tag
Removes the manual round-trip of tagging a fork release, then coming
back here to bump MPV_FORK_TAG and cut another release. Safe since
this repo is the fork's only consumer.
2026-06-18 21:34:27 +03:00
KhooLy
063552a762 fix: prevent duplicate Windows player-surface install thread
A timed-out install() call left the original thread running and let a
later call spawn a second one, racing both over the same mpv render
context and segfaulting. install() is now single-flight per process.

Also gate release publishing on all three platform builds succeeding,
not just the first one to finish.
2026-06-18 21:34:27 +03:00
KhooLy
1444014b3a chore: point at mpv fork v0.41.0-gpu-next.9 (Windows osc fix) 2026-06-18 13:58:22 +03:00
KhooLy
2445f71b5b chore: bump version to 0.1.7, speed up release builds
Thin LTO instead of full LTO + codegen-units=1 for faster CI compiles.
2026-06-18 12:59:10 +03:00
KhooLy
5b806dfad5 ci: bump libmpv fork tag to v0.41.0-gpu-next.8 2026-06-18 00:34:41 +03:00
KhooLy
7c3d46d9c6 chore: cache Linux apt packages to avoid re-downloading on every build
apt has no cache between runs; on a slow mirror day this turned into a
20+ minute step. Point apt's archive cache at $HOME (avoids permission
issues with the root-owned default path) and persist it via
actions/cache so a slow mirror only costs once.
2026-06-17 20:48:22 +03:00
KhooLy
2037aaa7e8 fix: install libmpv's gpu-next runtime deps on the Linux build runner
The KhooLy/mpv fork's libmpv.so.2 links libass, libavfilter, and
libplacebo (needed for the gpu-next render path) -- none of which were
in the apt install list, so the post-fetch ldd check failed.
2026-06-17 20:11:33 +03:00
KhooLy
1b9020b1a2 fix: checkout the public fluxa-core repo, not the unused private name
fluxa-core is public now -- the workflow was pointing at a repo name
(KhooLy/FluxaCore) that never existed, gated behind a PAT secret that
was never set, which is why every release build job failed at checkout.
2026-06-17 20:06:13 +03:00
KhooLy
8ffe193ec8 feat: switch to gpu-next libmpv fork, fix player UI bugs, bump v0.1.1
- Render backend now sources prebuilt libmpv from KhooLy/mpv (gpu-next),
  fetched via src-tauri/fetch-libmpv.sh; video-sync switched to
  display-resample with vsync-paced render loops on all platforms.
- CI (build.yml) updated to fetch the fork instead of building/bundling
  mpv per-platform.
- Fix: next-episode auto-skip countdown kept ticking while paused.
- Fix: addon HTTP fetches had no timeout, so a hung (not just refused)
  connection could block the home feed load forever, leaving a blank
  screen with no error.
- Fix: Nuvio offline banner overlapped the player's top bar instead of
  pushing it down.
- Add F11 as a fullscreen toggle in the player, alongside F.
- Restyle Skip Intro/Outro button: flat surface instead of native
  button chrome bleeding through, icon, hover/focus state, progress bar.
2026-06-17 18:50:15 +03:00
KhooLy
aaca1689c9 feat: initial release 2026-06-17 00:42:06 +03:00