Commit Graph
100 Commits
Author SHA1 Message Date
SucukdeluxeandClaude Opus 4.6 729aa30253 Release v1.6.20
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 18:09:13 +01:00
SucukdeluxeandClaude Opus 4.6 b8bbc9c32f Release v1.6.19
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 17:45:30 +01:00
SucukdeluxeandClaude Opus 4.6 a263e3eb2c Release v1.6.18
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 17:31:20 +01:00
SucukdeluxeandClaude Opus 4.6 10bae4f98b Release v1.6.17
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 17:04:32 +01:00
SucukdeluxeandClaude Opus 4.6 b02aef2af9 Release v1.6.16
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 16:50:59 +01:00
SucukdeluxeandClaude Opus 4.6 56c0b633c8 Release v1.6.15
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 15:47:48 +01:00
SucukdeluxeandClaude Opus 4.6 4e8e8eba66 Release v1.6.14
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 15:30:49 +01:00
SucukdeluxeandClaude Opus 4.6 d5638b922d Release v1.6.13
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 15:18:15 +01:00
SucukdeluxeandClaude Opus 4.6 dc695c9a04 Release v1.6.12
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 15:07:08 +01:00
SucukdeluxeandClaude Opus 4.6 52909258ca Release v1.6.11
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 15:03:29 +01:00
SucukdeluxeandClaude Opus 4.6 e9b9801ac1 Release v1.6.10
Fix post-process slot counter going negative after stop(), allowing multiple
packages to extract simultaneously instead of one at a time.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:46:44 +01:00
SucukdeluxeandClaude Opus 4.6 86a358d568 Release v1.6.9
Fix extraction resume state / progress sync, abort labels, and hybrid pkg.status

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:43:31 +01:00
SucukdeluxeandClaude Opus 4.6 97c5bfaa7d Release v1.6.8
- Fix "Fertig" status on completed items: session recovery no longer resets
  "Entpacken - Ausstehend" to "Fertig (size)" — respects autoExtract setting
- Extraction continues during pause instead of being aborted
- Hybrid extraction recovery on start/resume: triggerPendingExtractions and
  recoverPostProcessingOnStartup now handle partial packages with hybridExtract
- Move Up/Down buttons: optimistic UI update so packages move instantly

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:23:29 +01:00
SucukdeluxeandClaude Opus 4.6 8d0c110415 Release v1.6.7
Add proactive disk-busy detection: lower STREAM_HIGH_WATER_MARK from 2 MB
to 512 KB so backpressure triggers sooner, and monitor stream.writableLength
to show "Warte auf Festplatte" after 300 ms of undrained writes — before
actual backpressure hits.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:13:14 +01:00
SucukdeluxeandClaude Opus 4.6 a131f4a11b Release v1.6.6
Fix hybrid extraction stalling: requeue loop now keeps the post-process
slot so the same package re-runs immediately without waiting behind other
packages.  Also skip already-extracted archives on requeue rounds.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:04:28 +01:00
SucukdeluxeandClaude Opus 4.6 335873a7f6 Release v1.6.5
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 13:49:20 +01:00
SucukdeluxeandClaude Opus 4.6 7446e07a8c Release v1.6.4
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 09:54:37 +01:00
SucukdeluxeandClaude Opus 4.6 693f7b482a Release v1.6.3
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 05:54:41 +01:00
SucukdeluxeandClaude Opus 4.6 1d4a13466f Release v1.6.2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 05:41:40 +01:00
SucukdeluxeandClaude Opus 4.6 17844d4c28 Release v1.6.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 05:27:10 +01:00
SucukdeluxeandClaude Opus 4.6 55d0e3141c Release v1.6.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 05:13:07 +01:00
SucukdeluxeandClaude Opus 4.6 a967eb1080 Release v1.5.99
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 04:43:46 +01:00
SucukdeluxeandClaude Opus 4.6 21ff749cf3 Release v1.5.98
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 04:31:45 +01:00
SucukdeluxeandClaude Opus 4.6 18862bb8e0 Release v1.5.97
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 04:24:45 +01:00
SucukdeluxeandClaude Opus 4.6 27833615b7 Release v1.5.96
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 04:17:22 +01:00
SucukdeluxeandClaude Opus 4.6 00fae5cadd Release v1.5.95
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 04:08:29 +01:00
SucukdeluxeandClaude Opus 4.6 4fcbd5c4f7 Release v1.5.94
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 03:51:10 +01:00
SucukdeluxeandClaude Opus 4.6 bb8fd0646a Release v1.5.93
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 03:35:11 +01:00
SucukdeluxeandClaude Opus 4.6 1218adf5f2 Release v1.5.92
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 03:21:48 +01:00
SucukdeluxeandClaude Opus 4.6 818bf40a9c Release v1.5.91
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 03:15:54 +01:00
SucukdeluxeandClaude Opus 4.6 254612a49b Release v1.5.90
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 03:04:49 +01:00
SucukdeluxeandClaude Opus 4.6 92101e249a Release v1.5.89
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 02:57:33 +01:00
SucukdeluxeandClaude Opus 4.6 a18ab484cc Release v1.5.88
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 02:50:16 +01:00
SucukdeluxeandClaude Opus 4.6 7af9d67770 Release v1.5.87
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 02:38:05 +01:00
SucukdeluxeandClaude Opus 4.6 d63afcce89 Release v1.5.86
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 00:58:30 +01:00
SucukdeluxeandClaude Opus 4.6 15d0969cd9 Release v1.5.85
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 00:31:13 +01:00
SucukdeluxeandClaude Opus 4.6 5574b50d20 Add visual online/offline status dot indicator for Rapidgator links
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 00:23:20 +01:00
SucukdeluxeandClaude Opus 4.6 662c903bf3 Add Rapidgator link online/offline check when links are added
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 00:19:21 +01:00
SucukdeluxeandClaude Sonnet 4.6 545043e1d6 Add multi-select, Ctrl+A, right-click context menu with link viewer to history tab
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-04 00:06:58 +01:00
SucukdeluxeandClaude Sonnet 4.6 8f10ff8f96 Show TB for sizes >= 1 TiB in humanSize formatter
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-04 00:00:43 +01:00
SucukdeluxeandClaude Sonnet 4.6 62f3bd94de Remove speed limit toolbar button, fix hoster stats grouping, add Ctrl+A select all, fix context menu clipping
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 23:56:35 +01:00
SucukdeluxeandClaude Sonnet 4.6 253b1868ec Release v1.5.79
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 23:46:06 +01:00
SucukdeluxeandClaude Opus 4.6 c4aefb6175 Release v1.5.78
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 23:17:37 +01:00
SucukdeluxeandClaude Opus 4.6 956cad0da4 Release v1.5.77
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 22:58:34 +01:00
SucukdeluxeandClaude Opus 4.6 83d8df84bf Release v1.5.76
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 22:50:51 +01:00
SucukdeluxeandClaude Opus 4.6 0c058fa162 Release v1.5.75
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 22:28:40 +01:00
SucukdeluxeandClaude Opus 4.6 21dbf46f81 Release v1.5.74
- Fix hybrid extract not using maxParallelExtract setting (was hardcoded to 1)
- Fix "Warten auf Parts" label shown for items whose downloads are already complete
- Update hybrid extract progress handler to support parallel archive tracking

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 22:13:58 +01:00
SucukdeluxeandClaude Opus 4.6 af6eea8253 Release v1.5.73
- Show full passwords (unmasked) in extraction logs for easier debugging

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:55:36 +01:00
SucukdeluxeandClaude Opus 4.6 7029271999 Release v1.5.72
- WRONG_PASSWORD JVM error now falls back to legacy UnRAR extractor
- Added masked password logging for JVM and legacy extractors
- Per-attempt password logging shows which passwords are tried and in what order

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:50:35 +01:00
SucukdeluxeandClaude Opus 4.6 5dabee332e Parallel archive extraction within packages
maxParallelExtract now controls how many archives extract simultaneously
within a single package (e.g. 4 episodes at once). Packages still
extract sequentially (one package at a time) to focus I/O. Progress
handler updated to track multiple active archives independently.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:43:34 +01:00
SucukdeluxeandClaude Opus 4.6 d9fe98231f Extract packages sequentially instead of in parallel
Previously maxParallelExtract allowed multiple packages to extract
simultaneously, splitting I/O across packages. Now packages extract
one at a time in packageOrder so each package finishes faster.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:35:12 +01:00
SucukdeluxeandClaude Opus 4.6 6ee98328fb Fix JVM extractor not falling back to legacy UnRAR on codec errors
When SevenZipJBinding reports "Archive file can't be opened with any
of the registered codecs", the extractor now falls back to legacy
UnRAR instead of failing immediately. Previously, backend mode "jvm"
(the production default) only allowed fallback for UNSUPPORTEDMETHOD.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:28:47 +01:00
SucukdeluxeandClaude Opus 4.6 3dbb94d298 Release v1.5.68: Extractor optimizations inspired by JDownloader
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 21:25:02 +01:00
SucukdeluxeandClaude Opus 4.6 1956be0c71 Release v1.5.67
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 20:54:40 +01:00
SucukdeluxeandClaude Opus 4.6 e9414853f9 Sync package-lock.json version
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 20:54:14 +01:00
SucukdeluxeandClaude Opus 4.6 d67cce501b Split Hoster column into Hoster + Account columns
Hoster column now shows only the file hoster (e.g. rapidgator.net),
new Account column shows the debrid service used (e.g. Mega-Debrid).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 20:54:03 +01:00
SucukdeluxeandClaude Opus 4.6 d87b74d359 Release v1.5.66
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 20:43:08 +01:00
SucukdeluxeandClaude Opus 4.6 be7a8fd103 Add progress sorting, extraction priority by packageOrder, auto-expand extracting packages
- Fortschritt column is now clickable/sortable (ascending/descending by package %)
- Extraction queue respects packageOrder: top packages get extracted first
- Packages currently extracting are auto-expanded so user can see progress
- Increased Fortschritt column width for better spacing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 20:42:28 +01:00
SucukdeluxeandClaude Opus 4.6 d23740eac7 Release v1.5.65
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 20:31:58 +01:00
SucukdeluxeandClaude Opus 4.6 56a507b45d Add configurable parallel extraction count (1-8, default 2)
- New setting maxParallelExtract in AppSettings
- UI input in Entpacken tab: "Parallele Entpackungen"
- Replaces hardcoded maxConcurrent=2 in acquirePostProcessSlot

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 20:31:24 +01:00
SucukdeluxeandClaude Opus 4.6 31ce1e6618 Release v1.5.64
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 20:25:09 +01:00
SucukdeluxeandClaude Opus 4.6 b637fb3db8 Fix test suite: await async calls, update status expectations, add timeouts
- cleanup.test.ts: add async/await for removeDownloadLinkArtifacts and removeSampleArtifacts
- download-manager.test.ts: await manager.start() to prevent race conditions
- download-manager.test.ts: update "Entpackt" -> "Entpackt - Done" expectations
- download-manager.test.ts: await async getStartConflicts()
- download-manager.test.ts: add 35s timeout for extraction tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 20:23:57 +01:00
SucukdeluxeandClaude Opus 4.6 1d876f8ded Fix parallel JVM extraction: isolate temp dirs to prevent native DLL lock conflicts
Each JVM extractor process now gets its own temp directory via
-Djava.io.tmpdir so parallel SevenZipJBinding instances don't fight
over the same lib7-Zip-JBinding.dll file lock on Windows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 20:23:57 +01:00
SucukdeluxeandClaude Opus 4.6 2f43164732 Fix hybrid-extract item matching: use fileName for robust part detection
The previous targetPath-only matching missed items whose targetPath
differed from the on-disk filename. Now matches by basename and
fileName for reliable archive-part to item association.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 18:22:00 +01:00
SucukdeluxeandClaude Opus 4.6 9747cabb14 Release v1.5.63
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 18:16:42 +01:00
SucukdeluxeandClaude Opus 4.6 9b460758f9 Add parallel extraction (2 concurrent) and better status labels
- Replace serial packagePostProcessQueue with semaphore (max 2 concurrent)
- Hybrid-extract: items waiting for parts show "Entpacken - Warten auf Parts"
- Failed hybrid extraction shows "Entpacken - Error" instead of "Fertig"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 18:15:57 +01:00
SucukdeluxeandClaude Opus 4.6 8cc1f788ad Release v1.5.62
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 18:03:50 +01:00
SucukdeluxeandClaude Opus 4.6 0888e16aec Fix startPackages: scheduler now respects runPackageIds filter
findNextQueuedItem(), hasQueuedItems(), hasDelayedQueuedItems() and
countQueuedItems() now skip packages not in runPackageIds when the set
is non-empty. This ensures "Ausgewählte Downloads starten" only
processes selected packages instead of all enabled ones.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 18:03:05 +01:00
Sucukdeluxe cab550a13c Release v1.5.61 2026-03-03 17:54:15 +01:00
SucukdeluxeandClaude Opus 4.6 2ef3983049 Revert to v1.5.49 base + fix "Ausgewählte Downloads starten"
- Restore all source files from v1.5.49 (proven stable on both servers)
- Add startPackages() IPC method that starts only specified packages
- Fix context menu "Ausgewählte Downloads starten" to use startPackages()
  instead of start() which was starting ALL enabled packages

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 17:53:39 +01:00
Sucukdeluxe ca4392fa8b Release v1.5.60 2026-03-03 17:33:33 +01:00
Sucukdeluxe 8fad61e329 Restore multipart RAR open strategy for JVM extractor
Bring back callback-first RAR multipart opening with explicit RAR5/RAR fallback while keeping 7z.001 on VolumedArchiveInStream to improve 7z-JBinding compatibility on split RAR sets.
2026-03-03 17:32:22 +01:00
Sucukdeluxe 02bd4a61fb Release v1.5.59 2026-03-03 16:56:06 +01:00
Sucukdeluxe 30ac5bf9db Harden hybrid extract readiness for partial archives
Require near-complete file size checks in Item-Recovery and hybrid ready-set detection so partially downloaded RAR parts are not marked completed and extracted prematurely.
2026-03-03 16:52:16 +01:00
Sucukdeluxe 87e0a986e6 Release v1.5.58 2026-03-03 16:37:14 +01:00
SucukdeluxeandClaude Opus 4.6 353cef7dbd Add JVM hybrid-extract retry and clean up Java extractor
- Add automatic retry with 3s delay when JVM extractor fails with
  "codecs" or "can't be opened" error during hybrid-extract mode
  (handles transient Windows file locks after download completion)
- Log archive file size before JVM extraction in hybrid mode
- Remove unused ArchiveFormat import, RAR_MULTIPART_RE/RAR_OLDSPLIT_RE
  patterns, and hasOldStyleRarSplits() method from Java extractor
- Keep simple openSevenZipArchive with currentVolumeName tracking

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 16:35:43 +01:00
SucukdeluxeandClaude Opus 4.6 f9b0bbe676 v1.5.57
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 16:15:49 +01:00
SucukdeluxeandClaude Opus 4.6 93d54c8f84 Fix multi-part RAR: get first stream via callback, track current volume name
Two bugs in SevenZipVolumeCallback caused multi-part RAR extraction to fail:

1. getProperty(NAME) always returned firstFileName instead of tracking the
   last opened volume name. 7z-JBinding needs this to compute subsequent
   volume filenames.

2. The first IInStream was created separately instead of through the
   callback's getStream() method, so the volume name tracker was not
   properly initialized.

Verified with real multi-part RAR5 test archives (3 parts, WinRAR 7.01).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 16:15:44 +01:00
SucukdeluxeandClaude Opus 4.6 26bf675a41 v1.5.56
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 16:03:06 +01:00
SucukdeluxeandClaude Opus 4.6 35e84e652e Fix multi-part RAR: use explicit ArchiveFormat instead of VolumedArchiveInStream
VolumedArchiveInStream only works for .7z.001 splits - it rejects RAR
filenames. For multi-part RAR (.partN.rar), use RandomAccessFileInStream
with explicit ArchiveFormat.RAR5/RAR format specification. Auto-detection
with null format can fail for multi-volume RAR archives.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 16:03:01 +01:00
SucukdeluxeandClaude Opus 4.6 462fc0397e v1.5.55
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 15:54:17 +01:00
SucukdeluxeandClaude Opus 4.6 d4bf574370 Fix multi-part RAR extraction: use VolumedArchiveInStream for .partN.rar
The JVM extractor used RandomAccessFileInStream for multi-part RAR archives,
which only provides a single file stream. 7z-JBinding requires
VolumedArchiveInStream to access additional volume parts via callback.

Added RAR_MULTIPART_RE and RAR_OLDSPLIT_RE patterns to detect multi-volume
RAR archives and route them through VolumedArchiveInStream, fixing
"Archive file can't be opened with any of the registered codecs" errors.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 15:54:09 +01:00
SucukdeluxeandClaude Opus 4.6 d3ec000da5 v1.5.54
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 14:59:08 +01:00
SucukdeluxeandClaude Opus 4.6 d7d256f716 Fix hybrid-extract: check per-archive prefix instead of whole package
The previous fix blocked ALL multi-part extractions when any item in the
package was pending. Now checks only parts of the SAME archive (by prefix
match on fileName/targetPath), so E01 can extract while E06 downloads.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 14:59:03 +01:00
SucukdeluxeandClaude Opus 4.6 804fbe2bdc v1.5.53
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 14:52:39 +01:00
SucukdeluxeandClaude Opus 4.6 1fde0a9951 Fix hybrid-extract multi-part archive + extractor CRC handling
- findReadyArchiveSets: for .part1.rar, require ALL package items
  to be terminal before allowing extraction (prevents premature
  extraction when later parts have no targetPath/fileName yet)
- JVM extractor: remove CRCERROR from isPasswordFailure() — only
  DATAERROR indicates wrong password. CRCERROR on archives where
  7z-JBinding falsely reports encrypted no longer triggers password
  cycling.
- looksLikeWrongPassword: remove CRC text matching, keep only
  explicit "data error" for encrypted archives.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 14:52:00 +01:00
Sucukdeluxe 0cf5ebe5e9 Release v1.5.52 2026-03-03 14:37:59 +01:00
SucukdeluxeandClaude Opus 4.6 0b7c658c8f Add Account Manager + fix Hybrid-Extract premature extraction
- Account Manager: table UI with add/remove/check for all 4 providers
  (Real-Debrid, Mega-Debrid, BestDebrid, AllDebrid)
- Backend: checkRealDebridAccount, checkAllDebridAccount, checkBestDebridAccount
- Hybrid-Extract fix: check item.fileName for queued items without targetPath,
  disable disk-fallback for multi-part archives, extend disk-fallback to catch
  active downloads by fileName match (prevents CRC errors on incomplete files)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 14:36:13 +01:00
SucukdeluxeandClaude Opus 4.6 e6ec1ed755 Add Mega-Debrid account info check (web scraping)
Scrapes the Mega-Debrid profile page to display username, premium status,
remaining days, and loyalty points. New "Account prüfen" button in Settings > Accounts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 14:06:19 +01:00
SucukdeluxeandClaude Opus 4.6 ac479bb023 Add backup encryption (AES-256-GCM) and directory existence check
- Encrypt sensitive credentials (tokens, passwords) in backup exports
  using AES-256-GCM with PBKDF2 key derivation from OS username
- Backup format v2 with backwards-compatible v1 import
- Show dialog to create non-existent directories when changing
  outputDir, extractDir, or mkvLibraryDir settings

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 13:47:56 +01:00
SucukdeluxeandClaude Opus 4.6 9ac557b0a8 Fix app icon: use rcedit afterPack hook to embed custom icon in EXE
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 03:17:47 +01:00
SucukdeluxeandClaude Opus 4.6 4585db0281 Remove CHANGELOG.md from repo, link to Codeberg Releases instead
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 03:07:25 +01:00
SucukdeluxeandClaude Opus 4.6 0d86356f96 Remove internal files from repo: .github/workflows, docs/plans, verify_remote.mjs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 03:06:43 +01:00
SucukdeluxeandClaude Opus 4.6 140ee488b7 Update README with new features: JVM extraction, auto-rename, progress bars, history, nested extraction
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 03:03:31 +01:00
SucukdeluxeandClaude Opus 4.6 486379183b Remove .claude folder from repo and add to .gitignore
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 03:02:11 +01:00
SucukdeluxeandClaude Opus 4.6 19a588a997 Show "Jetzt entpacken" context menu when any item is completed, re-enable paused packages
Build and Release / build (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 02:52:19 +01:00
SucukdeluxeandClaude Opus 4.6 fa30e738d9 Fix UNSUPPORTEDMETHOD: init SevenZipJBinding native libs, pass password to extractSlow
Build and Release / build (push) Has been cancelled
Root cause: SevenZip.initSevenZipFromPlatformJAR() was never called, so
native compression codecs (RAR5, LZMA2, etc.) were not loaded. Archives
could be opened (header parsing is pure Java) but all extractSlow() calls
returned UNSUPPORTEDMETHOD because no native decoder was available.

- Add ensureSevenZipInitialized() with lazy init before extraction
- Pass password to extractSlow(outStream, password) for RAR5 compatibility
- Add UNSUPPORTEDMETHOD -> legacy fallback in extractor.ts as safety net

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 02:35:19 +01:00
SucukdeluxeandClaude Opus 4.6 eefb536cb3 Fix path traversal false positive: skip subst drive mapping for JVM backend
Build and Release / build (push) Has been cancelled
Java's getCanonicalFile() resolves subst drives inconsistently,
causing secureResolve() to falsely block valid filenames. JVM handles
long paths natively so subst is only needed for legacy UnRAR/7z.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 02:25:10 +01:00
SucukdeluxeandClaude Opus 4.6 02b136dac7 Fix JVM extractor: asarUnpack for class/jar files, add unpacked path candidate, default to jvm mode
Build and Release / build (push) Has been cancelled
The JVM sidecar class files were packed inside app.asar where Java
cannot access them. asarUnpack extracts them to app.asar.unpacked/.
Default backend changed from auto to jvm (no legacy fallback).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 02:19:26 +01:00
SucukdeluxeandClaude Opus 4.6 b712282f62 Log which extraction backend was used (7zjbinding/zip4j/legacy)
Build and Release / build (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 02:12:48 +01:00