Commit Graph

3 Commits

Author SHA1 Message Date
Sucukdeluxe
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
fa30e738d9 Fix UNSUPPORTEDMETHOD: init SevenZipJBinding native libs, pass password to extractSlow
Some checks are pending
Build and Release / build (push) Waiting to run
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
Sucukdeluxe
de369f3bcd Replace extraction backend with SevenZipJBinding + Zip4j JVM sidecar
Some checks are pending
Build and Release / build (push) Waiting to run
- New JVM sidecar (resources/extractor-jvm/) using SevenZipJBinding for
  RAR/7z/TAR and Zip4j for ZIP multipart, matching JDownloader 2 stack
- Auto/JVM/Legacy backend modes via RD_EXTRACT_BACKEND env variable
- Fallback to legacy UnRAR/7z when JVM runtime unavailable
- Fix isJvmRuntimeMissingError false positives on valid extraction errors
- Cache JVM layout resolution to avoid repeated filesystem checks
- Route nested ZIP extraction through JVM backend consistently

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 02:08:42 +01:00