Commit Graph

75 Commits

Author SHA1 Message Date
NimBold eca4efb1ad fix(ci): optimize engine build times and add granular Aria2 caching
- 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
2026-09-07 19:58:49 +03:30
NimBold d8a6440998 ci: cache verified engine payloads
- 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
2026-09-06 20:55:06 +03:30
NimBold 9ac3dc27a3 fix(ci): provide MinGW autotools pkg-config macros
- 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.
2026-09-06 16:24:26 +03:30
NimBold 3624db280c fix(downloads): report torrent allocation and remove files asynchronously
- Add lifecycle-fenced Aria2 allocation telemetry and shared animated status presentation.
- Persist background removal jobs, retain Removing rows, and provide explicit retry after failures.
- Fence cleanup against stale dispatch, native controls, completion races, and replaced assets across restart.
- Preserve completed and seeding payloads through Trash and permit safe permission-repair retries.
- Require patched engine capabilities and reproducible Windows/Linux provisioning; isolate packaged smoke storage.
- Verify 561 frontend tests, 672 native tests, 72 script tests, i18n/build checks, and macOS package/engine smoke checks.
2026-09-06 15:26:59 +03:30
NimBold 006f941bae ci(release): invoke tauri-command directly to prevent argument stripping on Windows
- 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
2026-09-05 09:56:30 +03:30
NimBold 86c9c49be2 test(deps): migrate to Vitest 5
- 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
2026-09-05 07:47:53 +03:30
NimBold 6440d8ad40 fix(deps): make update and advisory checks complete
- resolve FFmpeg against complete cross-platform stable provider tuples
- report Cargo lock drift through isolated resolver metadata
- gate vulnerabilities and document upstream informational advisories
2026-09-05 07:42:31 +03:30
NimBold 725f5e40ec fix(build): isolate engine staging per invocation
- remove shared staging locks and the repository engine tree
- stage verified target payloads in private atomic workspaces
- fence Tauri bundles and process-tree cleanup across platforms
- align CI, AppImage packaging, smoke checks, and release docs
2026-08-31 01:11:56 +03:30
NimBold c2a6e3d113 chore(deps): refresh packages and bundled engines
- update Lucide and compatible transitive Rust locks

- refresh Windows/Linux FFmpeg payloads with verified source hashes

- verify macOS release checks against the mounted DMG artifact
2026-08-26 21:39:29 +03:30
NimBold 686bba97a9 fix(release): bound engine provisioning and Linux package setup
- 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
2026-08-22 05:30:04 +03:30
NimBold cc74bec9b0 fix(ci): cover Windows headless production contracts
- 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
2026-08-22 00:32:22 +03:30
NimBold c355e99913 fix(ci): normalize Ubuntu package mirrors
- replace unreachable Azure runner mirrors with the HTTPS Ubuntu archive

- retain bounded apt retries and timeout safeguards
2026-08-19 20:39:51 +03:30
NimBold 5620110506 fix(ci): allow slow Linux apt index refresh
- give Ubuntu package-index refresh enough time on loaded mirrors

- retain retry, request timeout, and job-level safeguards
2026-08-19 18:38:33 +03:30
NimBold 6be0f5ca5a fix(ci): isolate Windows Tauri test harness
- 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
2026-08-19 13:03:07 +03:30
NimBold dd04ed40d6 fix(ci): bound platform test and dependency checks
- 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
2026-08-19 12:47:16 +03:30
NimBold 9418aa5564 fix(torrents): preserve per-file web-seed ownership
- 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
2026-08-19 12:11:09 +03:30
NimBold 78e9c9b80f fix(torrents): harden post-release lifecycle boundaries
- 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
2026-08-19 11:02:57 +03:30
NimBold 23991c3dea feat(ui): compact torrent add flow and verify magnet associations 2026-08-10 13:31:40 +03:30
NimBold 67828eea92 fix(release): audit untagged companion packages 2026-08-09 05:24:04 +03:30
NimBold 6a9b2bc099 fix(release): allow non-publishing branch audits 2026-08-09 05:10:25 +03:30
NimBold 3b7c454ec7 feat(downloads): add adaptive mirror reliability 2026-08-09 04:06:05 +03:30
NimBold c1202229ac fix(aria2): harden per-transfer DNS fallback (issue #35) 2026-08-05 19:28:56 +03:30
NimBold bb64c4cd52 fix(ci): use Windows-compatible Torrent RPC integration test 2026-08-01 20:09:57 +03:30
NimBold 92092e9844 test(torrents): harden native smoke validation 2026-08-01 19:55:42 +03:30
NimBold 31cf4a1c50 fix(ci): reuse Linux binary for AppImage packaging 2026-07-30 03:16:37 +03:30
NimBold 7e8f1c7d7b fix(release): enforce tagged companion identity 2026-07-28 19:33:05 +03:30
NimBold 81381a5a93 chore(release): prepare 1.1.2 and guard release tags 2026-07-21 20:13:21 +03:30
NimBold 886388d5f2 fix: harden audited download and release paths 2026-07-21 08:39:54 +03:30
NimBold a0f44b79ad feat(portable): add secure Windows portable release (#15)
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
2026-07-12 23:08:56 +03:30
NimBold 56b4c9f511 fix(release): extract RPM packages with bsdtar 2026-07-12 11:31:52 +03:30
NimBold 5bbee12602 feat(release): add verified Linux packages 2026-07-12 06:03:54 +03:30
NimBold b8ef712981 ci(release): publish tag builds by default 2026-07-08 22:43:23 +03:30
NimBold a2a3b08d4e chore(release): ad-hoc sign macOS builds
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.
2026-07-06 16:34:20 +03:30
NimBold 5ef0b3b5f6 docs(readme): render windows badge locally
Use a checked-in Windows SVG badge because Shields does not render the Windows logo slug.

Keep the browser extension badges compact and inline.
2026-07-06 01:55:30 +03:30
NimBold 58bbf95761 fix(release): use platform names for assets 2026-07-04 23:36:59 +03:30
NimBold 5189146369 chore(release): prepare Firelink 1.0.0 2026-07-04 23:09:23 +03:30
NimBold 21fc115d98 ci(release): pin macos runner image 2026-06-30 21:59:43 +03:30
NimBold e412b7c72b fix(release): wait for packaged installer output 2026-06-30 21:22:30 +03:30
NimBold b6e82491f3 fix(release): stabilize packaged build validation 2026-06-30 21:04:46 +03:30
NimBold fcb7fc91f6 ci(release): harden packaged app builds 2026-06-30 20:39:52 +03:30
NimBold 74275013dc chore(release): refresh build dependencies
Update npm lockfile packages, compatible Rust lockfile entries, and GitHub Actions release workflow actions.

Bundle the macOS aria2 OpenSSL legacy provider and set OPENSSL_MODULES for aria2 version checks and daemon startup so packaged builds do not depend on Homebrew OpenSSL provider paths.

Keep the Rust Tauri crate family on the previously verified patch line and hold time at 0.3.49 because newer compatible lockfile candidates failed local cargo verification.
2026-06-30 18:04:44 +03:30
NimBold 84e8b325c0 fix(ci): completely hide engine-dist from linuxdeploy because patchelf corrupts static binaries 2026-06-30 06:07:58 +03:30
NimBold b33d7d9ac5 fix(ci): fix linuxdeploy by deleting _internal from staged engine-dist instead of provisioned-engines 2026-06-30 05:54:17 +03:30
NimBold 78ce0ed006 fix(ci): fix macos dmg bundle verification and linuxdeploy dep resolution 2026-06-30 05:50:44 +03:30
NimBold fc4eb6a3fb fix(linux): install libreadline6 directly via deb to fix linuxdeploy dependency resolution without LD_LIBRARY_PATH pollution 2026-06-30 05:41:46 +03:30
NimBold 9f88c27b83 fix(linux): set LD_LIBRARY_PATH to help linuxdeploy find yt-dlp dependencies 2026-06-30 05:38:05 +03:30
NimBold 2ff7a1be44 fix(ci): run engine payload tests with node 2026-06-29 17:18:12 +03:30
NimBold 941d05112b fix(ci): avoid broken windows tauri lib harness 2026-06-23 22:36:50 +03:30
NimBold b726d3a310 fix(ci): run backend tests before engine provisioning 2026-06-23 22:27:16 +03:30
NimBold 7ed7bceacb fix(ci): isolate backend tests from engine staging 2026-06-23 22:17:06 +03:30