- update i18next, React i18n, Lucide, and compatible npm and Cargo locks
- refresh Windows and Linux FFmpeg 9.0.2 archives with verified hashes
- report compatible npm wanted versions and handle nested, duplicate, and optional packages
- update Node and Rust CI pins and document Windows 10 22H2 qualification
- Run descendant cancellation in a dedicated integration test executable.
- Use Windows process-handle state to verify descendant termination.
- Refs #44
- Inspect launcher permissions from stored SquashFS metadata.
- Pin and checksum the runtime embedded during AppImage packaging.
- Cover metadata validation and release tool inputs with regression tests.
- Keep the Tauri mock regression off Windows runners that cannot launch the harness.
- Retain Windows compilation and supported native integration coverage.
- Normalize and verify launcher, AppDir, and GTK hook permissions before and after repacking.
- Reject unsupported target triples before deriving or deleting payload paths.
- Align the published AppImage filename with catalog discovery and document the host glibc floor.
- Add regression coverage for permission, layout, symlink, and target traversal failures.
- Update Tauri 2 JavaScript and Cargo dependencies; remove unused JS filesystem plugin.
- Refresh verified Windows/Linux FFmpeg sources and pin workflow actions.
- Test supported Node lines, move native jobs to Node 24, and target the macOS 27 runner.
- Build patched Windows Aria2 with MSYS2 UCRT64 and fingerprint the selected environment.
- Generate an isolated audio/video fixture and verify split, merge, and decoding.\n- Package, read, remux, and decode HLS and DASH streams.\n- Run the smoke against each staged FFmpeg in the native CI matrix.
- replace hardcoded make -j2 with dynamic CPU core detection in aria2 build.sh
- isolate Aria2 source build cache from prebuilt engine downloads
- add atomic cache validation, restoration, and promotion in scripts/engine-aria2-cache.js
- add Rust dependency and target caching with Swatinem/rust-cache@v2
- raise Desktop checks timeout to 45 minutes to prevent job aborts
- harden temporary directory cleanup on Windows process abort
- cache target-scoped engine payloads with exact lock and toolchain keys\n- validate manifest provenance, checksums, and paths before reuse\n- restrict cache writes to trusted main pushes while allowing release restores\n- fall back to source provisioning when a cache is absent or invalid\n- harden release checksum generation against pipeline races
- Install the MSYS pkgconf package for Aria2 source provisioning.\n- Expose MSYS and MinGW aclocal directories before autoreconf.\n- Keep release provisioning aligned with the CI dependency contract.
- execute node scripts/tauri-command.js build directly instead of npm run tauri build --
- prevent PowerShell from consuming -- on Windows runners and triggering npm version print
- maintain cross-platform build parity across macOS, Linux, and Windows
- require Node 22.12 across local and CI execution
- make lifecycle and persistence suites repeat-safe
- add a five-repeat race gate with filesystem module caching
- abort locked engine downloads and extraction on process interruption
- recover only dead-PID staging trees while preserving active and legacy trees
- normalize Ubuntu mirrors and bound apt in release jobs
- cover cancellation, orphan cleanup, and workflow contracts with focused tests
- execute queue, retry, normalization, and credential-boundary contracts without the broken Tauri mock runtime\n- refresh target-specific FFmpeg source locks after provider URL and digest drift\n- document the remaining compile-only Windows GUI test limitation
- keep Windows executable checks on targets that run on the hosted image
- compile Tauri-backed queue and library tests without executing the broken harness
- share root-scoped canonical cache logic with the Windows safety regression
- run Windows integration targets without the broken Tauri lib harness
- retain Windows cache and web-seed regressions in runnable targets
- bound Linux apt retries, network waits, and job duration
- use Aria2 per-file URI state for safe Torrent seed lifecycle updates
- preserve embedded and legacy web-seed baselines during explicit changes
- harden atomic replacement and retained cache cleanup across platforms
- execute Windows Torrent cache and web-seed regressions in CI
- make Torrent journals and metadata caches atomic across platforms
- reject unsafe Torrent cache and web-seed inputs
- validate magnet trackers through the shared policy
- preserve embedded web seeds during explicit installation
- correct 1-based Torrent file indices in renderer state and Properties UI
Implement marker-based portable storage, portable WebView and log paths, secure queue and migration sanitization, and Windows portable ZIP validation while preserving the NSIS installer path.
Refs #15
Configure Tauri to ad-hoc sign macOS app and DMG builds without Apple Developer credentials.
Add a macOS signing verifier that checks the built app, the DMG payload, Mach-O signatures, quarantine xattrs, and expected Gatekeeper behavior.
Tighten README copy while keeping the platform install pills and accurate non-notarized macOS guidance.