Commit Graph
109 Commits
Author SHA1 Message Date
SucukdeluxeandClaude Opus 4.6 5bb984d410 Fix validating-stuck watchdog aborting before unrestrict timeout
Build and Release / build (push) Has been cancelled
The validating-stuck timeout (45s) was shorter than the unrestrict
timeout (60s), causing items to be endlessly aborted and retried
before the debrid API call could complete. Now uses unrestrict
timeout + 15s buffer.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 22:51:17 +01:00
SucukdeluxeandClaude Opus 4.6 1825e8ba04 ️ perf: improve extraction status, stuck detection, and retry logic
Build and Release / build (push) Has been cancelled
- Extraction status: "Entpackt - Done" / "Entpacken - Ausstehend"
- Per-item extraction progress (no cross-contamination)
- Validating-stuck watchdog: abort items stuck >45s in "Link wird umgewandelt"
- Global stall timeout reduced 90s → 60s, unrestrict timeout 120s → 60s
- Unrestrict retry: longer backoff (5/10/15s), reset partial downloads
- Stall retry: reset partial downloads for fresh link
- Mega-Web generate: max 30 polls (was 60), 45s overall timeout
- Mega-Web session refresh: 10min (was 20min)
- Comprehensive logging on all retry/failure paths

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 22:38:46 +01:00
SucukdeluxeandClaude Opus 4.6 0e55c28142 feat: replace default Electron icon with custom app icon
Build and Release / build (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 22:18:34 +01:00
SucukdeluxeandClaude Opus 4.6 e485cf734b Async FS optimizations, exponential backoff, cleanup dedup and release v1.4.72
Build and Release / build (push) Has been cancelled
- Convert all sync FS ops (existsSync, readdirSync, statSync, writeFileSync,
  rmSync, renameSync) to async equivalents across download-manager, extractor,
  cleanup, storage, and logger to prevent UI freezes
- Replace linear retry delays with exponential backoff + jitter to prevent
  retry storms with many parallel downloads
- Deduplicate resolveArchiveItems into single shared function
- Replace Array.shift() O(N) in bandwidth chart with slice-based trimming
- Make logger rotation async in the async flush path

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 21:53:07 +01:00
SucukdeluxeandClaude Opus 4.6 520ef91d2d Fix duplicate extraction and release v1.4.71
Build and Release / build (push) Has been cancelled
- 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>
2026-03-01 21:09:53 +01:00
SucukdeluxeandClaude Opus 4.6 674cf101da Fix extraction status cross-contamination with filename pattern matching, release v1.4.70
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>
2026-03-01 20:57:56 +01:00
SucukdeluxeandClaude Opus 4.6 4371e53b86 Fix retry recovery, extraction status cross-contamination and UI freezes, release v1.4.69
- 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>
2026-03-01 20:42:03 +01:00
Sucukdeluxe bf2b685e83 Add session backup restore and release v1.4.68
Build and Release / build (push) Has been cancelled
2026-03-01 20:13:16 +01:00
Sucukdeluxe e7f0b1d1fd Fix start-conflict skip behavior and release v1.4.67
Build and Release / build (push) Has been cancelled
2026-03-01 20:03:58 +01:00
Sucukdeluxe 647679f581 Fix Mega-Web unrestrict hangs and release v1.4.66
Build and Release / build (push) Has been cancelled
2026-03-01 19:06:34 +01:00
SucukdeluxeandClaude Opus 4.6 237bf6731d Move Statistiken tab to the right of Einstellungen
Build and Release / build (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 18:11:41 +01:00
Sucukdeluxe 25af89d7a0 Release v1.4.64 to test new buffer download method
Build and Release / build (push) Has been cancelled
2026-03-01 17:23:52 +01:00
SucukdeluxeandClaude Opus 4.6 e384199c6e Replace streaming download with chunked buffer download to fix corruption
Build and Release / build (push) Has been cancelled
- 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>
2026-03-01 17:20:02 +01:00
Sucukdeluxe 98425764d3 Release v1.4.62 to test updater fix
Build and Release / build (push) Has been cancelled
2026-03-01 17:15:08 +01:00
SucukdeluxeandClaude Opus 4.6 8f186ad894 Fix updater SHA512 mismatch by patching latest.yml filenames and adding integrity retry
Build and Release / build (push) Has been cancelled
- 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>
2026-03-01 17:04:12 +01:00
Sucukdeluxe 8b153bdabe Release v1.4.60 for update-path testing
Build and Release / build (push) Has been cancelled
2026-03-01 16:51:16 +01:00
Sucukdeluxe 401ad3b9f9 Release v1.4.58 to replace stale updater assets
Build and Release / build (push) Has been cancelled
2026-03-01 16:44:26 +01:00
Sucukdeluxe 5e1e62d5b6 Release v1.4.57 for updater validation
Build and Release / build (push) Has been cancelled
2026-03-01 16:31:09 +01:00
Sucukdeluxe afc70e6a10 Release v1.4.56 with updater 404 fallback fixes
Build and Release / build (push) Has been cancelled
2026-03-01 16:19:39 +01:00
Sucukdeluxe 73cd2ea6b9 Release v1.4.55 for updater path testing
Build and Release / build (push) Has been cancelled
2026-03-01 16:06:53 +01:00
Sucukdeluxe c5c862b516 Release v1.4.54 with bandwidth statistics tab
Build and Release / build (push) Has been cancelled
2026-03-01 15:57:28 +01:00
Sucukdeluxe f5d7ee4d1a Release v1.4.53 with updater verification fallback
Build and Release / build (push) Has been cancelled
2026-03-01 15:51:16 +01:00
Sucukdeluxe ec45983810 Release v1.4.51 with MKV post-cleanup and updater fixes
Build and Release / build (push) Has been cancelled
2026-03-01 05:04:31 +01:00
Sucukdeluxe b0dc7b80ab Release v1.4.50 with infinite retry default
Build and Release / build (push) Has been cancelled
2026-03-01 04:32:27 +01:00
Sucukdeluxe 116135289c Release v1.4.49 with retry-limit and extract-folder cleanup updates
Build and Release / build (push) Has been cancelled
2026-03-01 04:27:42 +01:00
Sucukdeluxe 5f2eb907b6 Release v1.4.48 with configurable retry limit setting
Build and Release / build (push) Has been cancelled
2026-03-01 04:19:40 +01:00
Sucukdeluxe 33e2e126f1 Release v1.4.47 with stuck-download watchdog improvements
Build and Release / build (push) Has been cancelled
2026-03-01 04:08:16 +01:00
Sucukdeluxe e1e7f63f50 Release v1.4.46 for updater verification
Build and Release / build (push) Has been cancelled
2026-03-01 04:01:29 +01:00
Sucukdeluxe 18fdbcba18 Release v1.4.45 with updater integrity hardening
Build and Release / build (push) Has been cancelled
2026-03-01 03:58:15 +01:00
Sucukdeluxe bfbaee8e5c Release v1.4.44 with extraction smoothness and rename fixes
Build and Release / build (push) Has been cancelled
2026-03-01 03:49:11 +01:00
Sucukdeluxe 6e50841387 Release v1.4.43 with update progress and collector metrics
Build and Release / build (push) Has been cancelled
2026-03-01 03:34:28 +01:00
Sucukdeluxe cb1e4bb0c1 Release v1.4.42 with flat MKV collection support
Build and Release / build (push) Has been cancelled
2026-03-01 03:24:56 +01:00
Sucukdeluxe 71aa9204f4 Add one-command Codeberg release workflow 2026-03-01 02:54:13 +01:00
Sucukdeluxe 65cf4c217f Release v1.4.41 for updater validation on Codeberg
Build and Release / build (push) Has been cancelled
2026-03-01 02:47:53 +01:00
Sucukdeluxe 2d3a1df21d Release v1.4.40 with Codeberg updater migration
Build and Release / build (push) Has been cancelled
2026-03-01 02:42:06 +01:00
Sucukdeluxe 474ff8cd26 Release v1.4.39 with Multi Debrid Downloader title format
Build and Release / build (push) Has been cancelled
2026-03-01 02:25:17 +01:00
SucukdeluxeandClaude Opus 4.6 310f4dc58a Release v1.4.38 with version display formatting tweak
- Change header to "Multi Debrid Downloader - vX.X.X" (dash separator)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 02:17:33 +01:00
SucukdeluxeandClaude Opus 4.6 d491c21b97 Release v1.4.37 with DLC filenames, instant delete, version display
- 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>
2026-03-01 02:12:06 +01:00
SucukdeluxeandClaude Opus 4.6 a0c58aad2c Release v1.4.36 with tolerant DLC padding
- 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>
2026-03-01 02:03:37 +01:00
SucukdeluxeandClaude Opus 4.6 48c89713ba Release v1.4.35 with 413 handling for both dcrypt endpoints
- Handle 413 from paste endpoint (not just upload)
- Show clear German error "DLC-Datei zu groß für dcrypt.it" when both
  endpoints reject the file due to size
- Add tests for dual-413 and upload-413+paste-500 scenarios

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 02:00:52 +01:00
SucukdeluxeandClaude Opus 4.6 778124312c Release v1.4.34 with DLC import package-name and 413 fixes
- Use DLC filename as package name in dcrypt fallback instead of
  inferring from individual URLs (fixes mangled package names)
- Add paste endpoint fallback when dcrypt upload returns 413
- Split decryptDlcViaDcrypt into tryDcryptUpload/tryDcryptPaste
- Add DCRYPT_PASTE_URL constant
- Expand container tests for 413 fallback and dual-failure scenarios

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 01:51:40 +01:00
Sucukdeluxe edbfba6663 Release v1.4.33 with DLC import and stats hotfixes
Build and Release / build (push) Has been cancelled
2026-03-01 01:39:51 +01:00
Sucukdeluxe ff1036563a Release v1.4.32 with intensive renamer hardening
Build and Release / build (push) Has been cancelled
2026-03-01 01:21:13 +01:00
Sucukdeluxe 6ac56c0a77 Release v1.4.31 with full bug-audit hardening
Build and Release / build (push) Has been cancelled
2026-03-01 00:33:26 +01:00
Sucukdeluxe 6ae687f3ab Release v1.4.30 with startup and UI race-condition fixes
Build and Release / build (push) Has been cancelled
2026-02-28 22:33:19 +01:00
Sucukdeluxe eda9754d30 Release v1.4.29 with downloader and API safety hardening
Build and Release / build (push) Has been cancelled
2026-02-28 21:31:42 +01:00
Sucukdeluxe 84d8f37ba6 Release v1.4.28 with expanded bug audit fixes
Build and Release / build (push) Has been cancelled
2026-02-28 19:47:46 +01:00
Sucukdeluxe 8700db4a37 Release v1.4.27 with bug audit hardening fixes 2026-02-28 14:12:16 +01:00
SucukdeluxeandClaude Opus 4.6 cbc423e4b7 Release v1.4.26 with remaining bug audit fixes
- AllDebrid: add HTML response detection to unrestrictLink
- Cleanup: skip symlinks/junctions in all directory traversals
- Blob URL: increase revoke delay from 0ms to 60s
- Extractor: per-package progress file to prevent collision
- ADD_CONTAINERS: reject path traversal and relative paths

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 13:09:59 +01:00
SucukdeluxeandClaude Opus 4.6 06a272ccbd Release v1.4.25 with hybrid extraction status fix
- Items extracted during hybrid extraction now show "Entpackt" instead of "Fertig"
- Only items belonging to the extracted archive set get status updates during hybrid extraction
- Final extraction preserves "Entpackt" status from prior hybrid passes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 13:01:49 +01:00