10 Commits
Author SHA1 Message Date
Dariusz L f7dfe3d8e5 Enhance download resilience with HTTP 416 recovery, stall detection, and network guard
- Recover completed .part files on HTTP 416 without deleting and redownloading
- Add stream stall detection and automatic reconnect for interrupted socket reads
- Implement persistent download state store and pause/resume lifecycle controls
- Add RateLimitCoordinator and ConnectivityGuard circuit breaker for requests
- Support proxy_url configuration and validate aria2 proxy settings
- Add unit tests for 416 recovery, stall reconnect, state store, and network guard
2026-10-26 19:26:50 +01:00
Dariusz L c62edd755c Improve aria2 and Python download robustness and retry handling
- Drain aria2 daemon stderr in a background thread to prevent Windows pipe buffer saturation and deadlock
- Promote critical disk write and permission errors from aria2 stderr to warnings
- Automatically refresh expired signed CDN URLs and resume downloads via aria2 continue=true
- Shield addUri against mid-registration cancellations to prevent orphaned downloads
- Retry Range requests directly on target URL when redirects drop the Range header in Python downloads
- Add auto-reconnect stream loop on transient socket disruptions with seamless partial-hash resumption
- Increase default download chunk size to 4MB for improved I/O throughput
- Parse HTTP 429 Retry-After headers for informative rate limit reporting
- Add unit test suite covering new aria2 and Python downloader resilience behaviors
2026-10-26 15:33:13 +01:00
Dariusz L 59bc928f8e Verify aria2 download SHA256 in background to avoid blocking at 100%
- Omit blocking checksum and check-integrity options from aria2 transfers to prevent long pauses at 100% on large models
- Run SHA-256 integrity verification asynchronously in a background thread via Python hashlib
- Update download progress and metadata sidecars upon background verification completion or mismatch
- Add unit tests for aria2 option omission and background verification
2026-10-26 14:27:44 +01:00
Dariusz L cfeb333546 refactor: centralize model cache invalidation 2026-08-08 19:03:16 +02:00
Dariusz L 415bcb93f4 feat: improve aria2 download resilience and queue presentation 2026-08-03 15:55:08 +02:00
Dariusz L ce462a21d5 Align managed aria2 root with installer root and allow symlinked executable paths 2026-08-03 15:14:22 +02:00
Dariusz L 8d9ca189fc Remove obsolete compatibility aliases 2026-08-03 13:11:59 +02:00
Dariusz L c37b2a3a0f refactor: remove downloader compatibility aliases 2026-08-02 18:34:26 +02:00
Dariusz L b304399798 refactor: slim downloader facade 2026-08-02 18:26:49 +02:00
Dariusz L 42ec5aa048 refactor: compose download API outside facade 2026-08-02 18:19:26 +02:00