Commit Graph

770 Commits

Author SHA1 Message Date
NimBold bdbc11ad94 fix(ui): fence stale allocation status
- keep paused and completed rows authoritative over transient allocation state

- preserve allocation feedback for failed-download retries

- expose the table allocation phase as an accessible indeterminate progressbar
2026-08-16 00:09:21 +03:30
NimBold 6aa07db5df feat(ui): show file allocation phase
- expose transient allocation state around normal Aria2 enqueue

- render truthful indeterminate allocation status in the table and Properties window

- add localized copy, accessibility semantics, lifecycle cleanup, and regression tests
2026-08-16 00:03:43 +03:30
NimBold d135a17f1b fix(downloads): allow confirmed credentialless resume
- distinguish redacted session credentials from intrinsic URL authentication

- requeue confirmed resumes without saved secrets from the table and Properties window

- scope batch overrides to approved rows and harden malformed bridge payloads

- add regression coverage and localized confirmation copy
2026-08-15 23:32:43 +03:30
NimBold 3f3a3514a3 fix(ui): expose resume failure reason
- show persisted resume failure details instead of a generic backend rejection

- keep the generic message only when no actionable reason is available
2026-08-15 23:12:56 +03:30
NimBold 8e7e81277b fix(downloads): recover stale aria2 gids on resume
- validate retained GIDs before resume shortcuts, including WaitingToSeed

- invalidate stale lifecycle mappings and queue ownership before re-enqueue

- preserve conservative transport handling and cover missing-GID classification
2026-08-15 22:56:36 +03:30
NimBold 6245c62d3d fix(downloads): harden aria2 diagnostics
- add stage-correlated metadata, DNS, admission, retry, and poller logs
- classify resolver, range, and HTTP failures without leaking sensitive data
- fence slow Aria2 admission and terminal polling against stale lifecycle state
- record proxy route and requested versus effective connection telemetry
2026-08-15 21:25:12 +03:30
NimBold f77fd0be3f fix(downloads): harden automatic capture and aria2 transfers
- Pass prepared redirect URIs to Aria2 while preserving stable source identities.

- Fence effective-connection telemetry and retry lifecycle transitions by control epoch.

- Keep credentialed routes conservative across redirects, mirrors, and inline URL credentials.

- Preflight destination access and preserve actionable retryable permission errors in the UI.

- Add adversarial regression coverage for ranges, redirects, retries, telemetry, and enqueue failures.
2026-08-15 14:31:38 +03:30
NimBold 92cfaa26ce chore(deps): refresh package and engine locks
- update Zustand and refreshed npm lockfile metadata

- refresh BtbN FFmpeg Windows/Linux artifacts with verified checksums

- make update checks fail closed on unavailable providers and target-specific engine feeds

- update Rust transitive dependencies and add checker regression coverage
2026-08-15 10:07:39 +03:30
NimBold ca32b772a2 fix(torrent): use live peer telemetry in properties
- source the Properties peer card from live Aria2 status counts
- distinguish connected peers from unavailable peer details
- remove redundant peer-summary IPC and harden count parsing
- add responsive, accessible peer/seeder presentation and regressions
2026-08-15 06:26:25 +03:30
NimBold de41dd55d6 fix(torrent): harden metadata reuse and live peer telemetry
- reuse validated tracker-bearing metainfo without restoring direct web seeds
- preserve Torrent file selection while making long paths scrollable and copyable
- add lifecycle-fenced peer and seeder summaries to Properties telemetry
- validate cache tracker metadata and cover malformed, stale, and path-copy cases
2026-08-14 13:13:06 +03:30
NimBold 314f4e2e00 fix(settings): harden Torrent network validation
- Align the DHT message-timeout range with bundled Aria2 1.37.0.
- Validate and canonicalize Torrent network text settings at the native boundary.
- Fence delayed input responses and reject contradictory IPv6 bind state.
- Add regression coverage for malformed settings and cross-field races.
2026-08-13 16:40:55 +03:30
NimBold 4b43e8ed5c fix(integration): serialize browser add inputs
- serialize extension and deep-link Add-window events
- acknowledge successful extension handling at the frontend boundary
- add regression coverage for ordered input processing
2026-08-12 20:20:55 +03:30
NimBold e9ad226b93 fix(scheduler): harden scheduled actions and speed limits
- Persist scheduler dispatch markers and retry unacknowledged events across renderer and process restarts.
- Fence queue admission, Torrent moves, and permit activation during system actions with an explicit force path.
- Preserve Aria2 zero-limit overrides and normalize global limits across startup, queued, retry, and live paths.
- Guard scheduler lifecycle races, completion post-actions, settings bindings, and regression coverage.
2026-08-12 18:57:31 +03:30
NimBold 885e3d0100 chore(deps): refresh locks and harden engine promotion
- refresh compatible npm and Cargo lockfile dependencies
- update locked Windows and Linux FFmpeg provider artifacts by checksum
- publish verified engine payloads with interrupted-promotion recovery
- retry Windows-safe cleanup and cover worst-case promotion states
2026-08-12 17:54:30 +03:30
NimBold 64a836f09f fix(properties): harden lifecycle and session fencing
- Fence Properties actions and Torrent moves by current caller sessions.
- Preserve move progress and authoritative destinations across stale events and recovery.
- Enforce immutable identity fields and transactional queued-edit rejection.
- Restore subtle theme surfaces and expand regression coverage.
2026-08-12 07:07:52 +03:30
NimBold f7bafdeb0e feat(ui): persist window state and clarify transfer telemetry
- Persist bounded logical main-window geometry with work-area-safe startup restoration.
- Persist the Folders collapse preference in SQLite with guarded legacy localStorage migration.
- Keep media transfer telemetry truthful and compact the transfer controls across locales.
- Add bridge, presentation, persistence, geometry, and configuration regression coverage.
2026-08-11 12:17:11 +03:30
NimBold ae6a00304e fix(ui): harden add downloads modal layout 2026-08-11 10:51:11 +03:30
NimBold 753d590aee chore(deps): refresh packages and engine locks 2026-08-10 23:20:15 +03:30
NimBold 9c6237716e fix(persistence): make download admission durable 2026-08-10 20:35:53 +03:30
NimBold f79f9f1edf fix(torrents): clean multi-file assets on removal 2026-08-10 15:19:38 +03:30
NimBold 472da5a681 feat(downloads): add dedicated Torrent category 2026-08-10 14:20:50 +03:30
NimBold 23991c3dea feat(ui): compact torrent add flow and verify magnet associations 2026-08-10 13:31:40 +03:30
NimBold 6d8eab466c fix(media): restore adaptive YouTube formats
Pass yt-dlp's default and embedded YouTube player clients through both metadata discovery and the final download so adaptive video and audio formats stay available.
2026-08-09 09:27:30 +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 807e16a1fe fix(downloads): allow aria2 graceful shutdown delay 2026-08-09 04:56:06 +03:30
NimBold 4cd3d50d15 fix(downloads): promote adaptive mirror history safely 2026-08-09 04:40:07 +03:30
NimBold 5797db27c5 fix(windows): persist adaptive mirror history 2026-08-09 04:21:15 +03:30
NimBold 3b7c454ec7 feat(downloads): add adaptive mirror reliability 2026-08-09 04:06:05 +03:30
NimBold c3755ce886 fix(aria2): harden protocol and torrent transfers 2026-08-08 22:33:49 +03:30
NimBold 6c9950a690 fix(macos): declare standard BitTorrent file type 2026-08-08 13:10:58 +03:30
NimBold 27ac8d9083 feat(torrent): add magnet and torrent handoff 2026-08-07 18:39:24 +03:30
NimBold 27da8b1c44 fix(properties): retain window size per app session 2026-08-07 14:14:21 +03:30
NimBold 757b849e4e refactor(properties): fit torrent metrics on one row 2026-08-07 14:00:24 +03:30
NimBold 761bbb61d2 refactor(properties): reduce default window size 2026-08-07 13:55:34 +03:30
NimBold eb256707b0 refactor(properties): compact speed cap control 2026-08-07 13:51:35 +03:30
NimBold 92e369c15b refactor(properties): remove redundant transfer summary 2026-08-07 13:49:45 +03:30
NimBold facb7b3300 fix(properties): harden progress and torrent diagnostics 2026-08-07 13:32:52 +03:30
NimBold e402603edb fix(properties): harden diagnostic visual states 2026-08-07 12:24:05 +03:30
NimBold e2654510af fix(ui): clarify download properties inputs 2026-08-06 23:58:06 +03:30
NimBold c9046f8273 chore(deps): refresh packages and engine locks 2026-08-06 08:09:19 +03:30
NimBold 2b44d1a121 fix(ui): align properties window controls 2026-08-06 07:30:29 +03:30
NimBold 6f9a9e0638 fix(ui): harden download properties window 2026-08-06 07:08:29 +03:30
NimBold ee2448d084 fix(properties): harden child window startup and lifecycle 2026-08-06 00:26:59 +03:30
NimBold 5d90b07fd7 fix(properties): restore standalone window startup 2026-08-05 22:57:58 +03:30
NimBold b36f55e5b5 fix(properties): harden recovery and window chrome 2026-08-05 21:41:59 +03:30
NimBold c1202229ac fix(aria2): harden per-transfer DNS fallback (issue #35) 2026-08-05 19:28:56 +03:30
NimBold 4a83ac97c7 fix(properties): stabilize diagnostics and refresh download properties UI 2026-08-05 10:49:53 +03:30
NimBold 48a727798c fix(properties): harden protocol-aware resume recovery 2026-08-04 23:37:56 +03:30
NimBold 135ba75a69 fix(properties): harden resume lifecycle 2026-08-04 19:37:25 +03:30