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.
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.
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.
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.
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.
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.
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.
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.
- 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.