90 Commits

Author SHA1 Message Date
NimBold 9ff865d26e fix(release): refresh pinned AppImage runtime 2026-10-20 19:50:11 +04:00
NimBold 15514b11e7 test(ci): run Windows queue manager integration tests 2026-10-20 19:08:05 +04:00
NimBold 05ff37df22 chore(deps): refresh compatible packages and FFmpeg sources
- 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
2026-10-18 12:09:43 +04:00
NimBold 061c9c45ec fix: isolate Windows process-group regression coverage
- Run descendant cancellation in a dedicated integration test executable.
- Use Windows process-handle state to verify descendant termination.
- Refs #44
2026-10-13 13:35:59 +03:30
NimBold eaced700bd fix: harden runtime updates and shutdown handling
- Upgrade frontend and Tauri dependencies; use process-group kills for yt-dlp descendants.

- Refresh verified Windows/Linux FFmpeg sources and add HLS byte-range coverage.

- Fence Aria2 handoffs across shutdown, retry, seeding, recovery, and user controls; fix expired queue-hold wakeups.

- Preserve Linux AppImage autostart for install paths containing '='.

- Refs #44
2026-10-13 13:18:55 +03:30
NimBold eea313b45f fix(release): verify AppImage permissions and inputs
- 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.
2026-10-09 23:48:54 +03:30
NimBold 63bcbd5eeb ci(release): refresh AppImage tool integrity pin
- Match the pinned digest to the current official appimagetool asset.
- Record the continuous release commit so future digest changes are reviewable.
2026-10-09 23:13:19 +03:30
NimBold 9c724b6c2d ci(test): preserve the Windows library test split
- Keep the Tauri mock regression off Windows runners that cannot launch the harness.
- Retain Windows compilation and supported native integration coverage.
2026-10-09 22:55:29 +03:30
NimBold 5187c96471 ci(test): run shell output regression on Windows
- Execute the fast-exit shell regression on native Windows CI.
- Keep the broader Windows library test split unchanged.
2026-10-09 22:48:31 +03:30
NimBold 05f8a5a219 ci(release): verify assets on non-publishing runs
- Download built artifacts after the platform matrix completes on dry runs.
- Require one non-empty package for each supported artifact format.
2026-10-09 22:43:55 +03:30
NimBold 6ba28f2d78 chore(deps): refresh packages and bundled engines
- Update npm and compatible Cargo locks; refresh pinned CI actions.
- Advance Windows/Linux FFmpeg payloads and add Vorbis/remux smoke coverage.
- Preserve yt-dlp final output across fast shell child exits.
2026-10-09 22:39:50 +03:30
NimBold ce31dccd88 fix(appimage): harden packaging for catalog compatibility
- 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.
2026-09-29 14:14:54 +03:30
NimBold f4baad6fca chore(deps): refresh Tauri dependencies and CI toolchains
- 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.
2026-09-29 08:45:39 +03:30
NimBold 7511bea00c test(engines): exercise FFmpeg media pipelines
- 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.
2026-09-25 20:09:52 +03:30
NimBold 15eb8a4423 chore(deps): refresh Firelink packages and engines
- Refresh compatible Tauri, React i18n, Rust, and FFmpeg dependencies.

- Migrate macOS integrations to objc2 with main-thread Automation execution.

- Buffer early Torrent launches and update Node 24-compatible CI actions.
2026-09-23 20:01:41 +03:30
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