- Don't clear extraction resume state during hybrid mode (skipPostCleanup)
- Mark ALL completed items as "Entpackt" after successful hybrid extraction
to prevent full extraction from re-extracting already-extracted archives
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Previous fix used pathKey-based maps which failed due to path resolution
mismatches on Windows. New approach matches items to archives using
filename regex patterns directly (e.g. prefix.part\d+.rar), which is
robust regardless of path casing/resolution.
Also marks items as "Entpackt" immediately when their archive finishes
instead of waiting for all archives to complete, so completed episodes
show correct status while later episodes are still extracting.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- togglePause: clear retry delays and abort stuck tasks on unpause so
Pause/Start actually recovers stuck downloads
- Fix retry display showing Number.MAX_SAFE_INTEGER instead of "inf"
for unrestrict and generic error retries
- Fix extraction status applied to ALL items in package instead of only
the items belonging to the currently extracting archive
- Make persistNow always async and item-completion stat async to reduce
UI freezes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace Readable.fromWeb() + pipeline with ReadableStream.getReader() loop
- Collect chunks in memory, verify size, then write to disk in one shot
- Add Accept-Encoding: identity to prevent content encoding issues
- Eliminates stream conversion bugs that caused file corruption on some servers
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Patch latest.yml during release to use actual filenames (spaces) instead of electron-builder's dashed names
- Add download size validation before SHA512 check to catch incomplete downloads
- Retry download on integrity mismatch (up to 3 passes) with API refresh
- Re-resolve digest from latest.yml on each retry pass
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Parse <filename> tags from DLC XML for proper file names instead of
deriving from opaque URLs (fixes download.bin display)
- Optimistic UI removal for package/item delete (instant feedback)
- Show app version in header ("Multi Debrid Downloader vX.X.X")
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Local DLC decryption no longer throws on invalid PKCS7 padding
- Instead tries to parse the decrypted data as-is (Node.js base64
decoder is lenient with trailing garbage bytes)
- This fixes large DLCs that previously failed locally and then
hit dcrypt.it's 413 size limit on both endpoints
- Empty decryption result returns [] instead of throwing
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>