Sucukdeluxe
63fd402083
Release v1.4.20 with comprehensive audit fixes (140 issues) and expanded test coverage
...
- Speed calculation: raised minimum elapsed floor to 0.5s preventing unrealistic spikes
- Reconnect: exponential backoff with consecutive counter, clock regression protection
- Download engine: retry byte tracking (itemContributedBytes), mkdir before createWriteStream, content-length validation
- Fire-and-forget promises: all void promises now have .catch() error handlers
- Session recovery: normalize stale active statuses to queued on crash recovery, clear speedBps
- Storage: config backup (.bak) before overwrite, EXDEV cross-device rename fallback with type guard
- IPC security: input validation on all string/array IPC handlers, CSP headers in production
- Main process: clipboard memory limit (50KB), installer timing increased to 800ms
- Debrid: attribute-order-independent meta tag regex for Rapidgator filename extraction
- Constants: named constants for magic numbers (MAX_MANIFEST_FILE_BYTES, MAX_LINK_ARTIFACT_BYTES, etc.)
- Extractor/integrity: use shared constants, document password visibility and TOCTOU limitations
- Tests: 103 tests total (55 new), covering utils, storage, integrity, cleanup, extractor, debrid, update
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 06:23:24 +01:00
Sucukdeluxe
b971a79047
Release v1.4.18 with performance optimization and deep bug fixes
...
- Optimize session cloning: replace JSON.parse/stringify with shallow spread (~10x faster for large queues)
- Convert blocking fs.existsSync/statSync to async on download hot path
- Fix EXDEV cross-device rename in sync saveSettings/saveSession (network drive support)
- Fix double-delete bug in applyCompletedCleanupPolicy (package_done + immediate)
- Fix dangling runPackageIds/runCompletedPackages in removePackageFromSession
- Fix AdmZip partial extraction: use overwrite mode for external fallback
- Add null byte stripping to sanitizeFilename (path traversal prevention)
- Add 5MB size limit for hash manifest files (OOM prevention)
- Add 256KB size limit for link artifact file content check
- Deduplicate cleanup code via centralized removePackageFromSession
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 05:30:28 +01:00
Sucukdeluxe
d4dd266f6b
Release v1.4.17 with security fixes, stability hardening and retry improvements
...
- Fix ZIP path traversal vulnerability (reject entries escaping target dir)
- Add single instance lock (prevent data corruption from multiple instances)
- Add unhandled exception/rejection handlers (prevent silent crashes)
- Fix mainWindow reference cleanup on close
- Add second-instance handler to focus existing window
- Fix claimTargetPath infinite loop (add 10k iteration bound)
- Add duplicate startItem guard (prevent concurrent downloads of same item)
- Clone session in getSnapshot to prevent live-reference mutation bugs
- Clear stateEmitTimer on clearAll to prevent dangling timer emissions
- Add extraction timeout safety (4h deadline with logging)
- Add dedicated unrestrict retry system with longer backoff for Mega-Debrid errors
- Add log rotation (10MB max, keeps one .old backup)
- Fix writeExtractResumeState missing mkdir (prevents crash on deleted dirs)
- Fix saveSessionAsync EXDEV cross-device rename with copy fallback
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 05:04:21 +01:00
Sucukdeluxe
cc887eb8a1
Release v1.4.14 with extraction performance optimization and bug fixes
...
- Add multi-threaded extraction via WinRAR -mt flag (uses all CPU cores)
- Fix -idq flag suppressing progress output, replaced with -idc
- Fix extraction timeout for multi-part archives (now calculates total size across all parts)
- Raise extraction timeout cap from 40min to 2h for large archives (40GB+)
- Add natural episode sorting (E1, E2, E10 instead of E1, E10, E2)
- Add split archive support (.zip.001, .7z.001) with proper cleanup
- Add write-stream drain timeout to prevent download freezes on backpressure
- Fix regex global-state bug in progress percentage parsing
- Optimize speed event pruning (every 1.5s instead of every chunk)
- Add performance flag fallback for older WinRAR versions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 21:28:03 +01:00
Sucukdeluxe
8b5c936177
Release v1.4.11 with stability hardening and full-function regression pass
2026-02-27 20:25:55 +01:00
Sucukdeluxe
6e72c63268
Release v1.4.10 with freeze mitigation and extraction throughput fixes
Build and Release / build (push) Waiting to run
2026-02-27 20:13:33 +01:00
Sucukdeluxe
e1286e02af
Release v1.4.9 with extraction resume fix and faster update downloads
...
- Fix extraction status display after restart (shows "Entpacken ausstehend" instead of stale status)
- Fix Start button to trigger pending extractions for already-downloaded packages
- Fix extraction resume when archives already cleaned (recognizes completed state from resume file)
- Reduce update download connection timeout from 8min to 30s per candidate for faster fallback
- Add logging for update download candidates and failures
- Show manual download URL on update failure
- Sequential extraction preserved (one package at a time via queue)
- Extraction properly cancelled on shutdown, resumes on restart
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 19:47:53 +01:00
Sucukdeluxe
3b9c4a4e88
Release v1.4.7 with ENOENT extraction recovery and lag optimizations
Build and Release / build (push) Waiting to run
2026-02-27 19:12:40 +01:00
Sucukdeluxe
dbf1c34282
Release v1.4.6 with extraction resume safety and smoother runtime
Build and Release / build (push) Waiting to run
2026-02-27 18:59:04 +01:00
Sucukdeluxe
4fc0ce26f3
Ship UI productivity upgrades and extraction progress flow in v1.4.0
2026-02-27 16:23:19 +01:00
Sucukdeluxe
7b5218ad98
Remove empty download package dirs after archive cleanup in v1.3.11
2026-02-27 15:55:43 +01:00
Sucukdeluxe
e2a8673c94
Harden extraction verification, cleanup safety, and logging in v1.3.10
2026-02-27 15:43:52 +01:00
Sucukdeluxe
75fc582299
Fix split-archive cleanup after extraction and release v1.3.7
2026-02-27 15:07:12 +01:00
Sucukdeluxe
73c8b6e670
Replace 7zip-bin with WinRAR for archive extraction v1.3.0
...
- Remove 7zip-bin dependency and asarUnpack config
- Use WinRAR/UnRAR.exe from standard install paths with auto-detection
- Add resolver with probing to cache the found extractor command
- Add -y flag for auto-confirm and WinRAR.exe command support
- Update tests for WinRAR argument format
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 13:34:34 +01:00
Sucukdeluxe
d867c55e37
Fix extractor ENOENT stalls and add built-in archive passwords
Build and Release / build (push) Waiting to run
2026-02-27 12:53:56 +01:00
Sucukdeluxe
741a0d67cc
Add archive password fallback and release v1.1.28
Build and Release / build (push) Waiting to run
2026-02-27 12:38:42 +01:00
Sucukdeluxe
4548d809f9
Polish settings UI and harden fetch-failed recovery
Build and Release / build (push) Waiting to run
2026-02-27 11:32:06 +01:00
Sucukdeluxe
6d777e2a56
Harden resume flows and ship v1.1.23 stability fixes
Build and Release / build (push) Waiting to run
2026-02-27 11:04:52 +01:00
Sucukdeluxe
b96ed1eb7a
Migrate app to Node Electron with modern React UI
Build and Release / build (push) Waiting to run
2026-02-27 03:25:56 +01:00