Commit Graph

73 Commits

Author SHA1 Message Date
Sucukdeluxe
19a588a997 Show "Jetzt entpacken" context menu when any item is completed, re-enable paused packages
Some checks are pending
Build and Release / build (push) Waiting to run
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 02:52:19 +01:00
Sucukdeluxe
9a646d516b Fix extraction speed: I/O priority only in hybrid mode, more threads
Some checks are pending
Build and Release / build (push) Waiting to run
- setWindowsBackgroundIO (Very Low I/O) now only applied in hybrid mode,
  not for all extractions (was causing massive slowdown)
- Hybrid threads changed from -mt1 to half CPU count (e.g. -mt4 on 8-core)
- Move retry count (R9, R22 etc.) from status text to tooltip only

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 01:08:40 +01:00
Sucukdeluxe
19342647e5 Fix download freeze spikes and unrestrict slot overshoot handling 2026-03-02 23:47:54 +01:00
Sucukdeluxe
19769ea0bb Fix combined progress display during extraction, fix pause showing Warte auf Daten
Some checks are pending
Build and Release / build (push) Waiting to run
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 23:32:30 +01:00
Sucukdeluxe
c9bace1e5a Fix dual-layer text: use clip-path inset instead of wrapper for pixel-perfect alignment
Some checks are pending
Build and Release / build (push) Waiting to run
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 23:29:28 +01:00
Sucukdeluxe
2d1b6de51a Fix dual-layer text alignment: use clip wrapper for proper text centering
Some checks are pending
Build and Release / build (push) Waiting to run
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 23:25:59 +01:00
Sucukdeluxe
c07c0fbdf7 Dual-layer text on progress bars: dark text on bar, light text on track (JDownloader style)
Some checks are pending
Build and Release / build (push) Waiting to run
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 23:21:21 +01:00
Sucukdeluxe
578d050926 Merge Größe/Geladen into single progress bar column (JDownloader 2 style)
Some checks are pending
Build and Release / build (push) Waiting to run
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 23:16:45 +01:00
Sucukdeluxe
cb66661d9b Redesign history tab with package-card style, collapsible details, right-align remove button
Some checks are pending
Build and Release / build (push) Waiting to run
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 23:05:23 +01:00
Sucukdeluxe
e35fc1f31a v1.5.28: Visuelle Fortschrittsanzeigen (JDownloader 2 Style)
Some checks are pending
Build and Release / build (push) Waiting to run
2026-03-02 22:17:59 +01:00
Sucukdeluxe
546d6af598 Fix Fortschritt/Geladen display: show progress for all items with totalBytes, hide 0 B
Some checks are pending
Build and Release / build (push) Waiting to run
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 21:42:11 +01:00
Sucukdeluxe
2b12bd8c42 Add Fortschritt and Geladen columns to download grid
Some checks are pending
Build and Release / build (push) Waiting to run
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 21:35:57 +01:00
Sucukdeluxe
0b73ea1386 Add "Jetzt entpacken" context menu, fix start freeze on large queues
Some checks are pending
Build and Release / build (push) Waiting to run
- New "Jetzt entpacken" right-click option: triggers extraction for
  completed packages regardless of paused/stopped state
- Fix 5-10s freeze when pressing Start after Pause: recoverRetryableItems
  was calling fs.stat on every item (474+); now only checks failed/completed
- Full IPC pipeline: extractNow in manager, controller, preload, renderer

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:40:49 +01:00
Sucukdeluxe
a22a90adf3 Add retry extraction context menu, increase error text limit
- Right-click packages with extraction errors shows "Extraktion
  wiederholen" option to manually retry
- Increase WinRAR error text from 240 to 500 chars for better
  diagnostics in logs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:15:00 +01:00
Sucukdeluxe
ecf56cb977 Retry failed extractions on unpause, fix delete callback deps
- triggerPendingExtractions() now runs when unpausing, so packages
  with extraction errors are automatically retried
- executeDeleteSelection no longer depends on snapshot objects
  (prevents unnecessary re-renders with large queues)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:58:01 +01:00
Sucukdeluxe
549328893e Separate pause/resume buttons, fix hybrid extraction during pause
- Pause button is now one-way (orange glow when paused, disabled when
  already paused). Start button resumes from pause.
- Fix hybrid extraction attempting incomplete multi-part archives when
  paused: disk-fallback now blocks any non-terminal item status, not
  just downloading/validating/integrity_check.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:22:58 +01:00
Sucukdeluxe
e6c17393fb Fix chart label clipping, persist speed history across tabs, fix pause button
- Dynamic left padding based on measured label width (no more cut-off numbers)
- Speed history ref lifted to App so chart data survives tab switches
- Pause button uses optimistic UI update for instant visual feedback

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:11:36 +01:00
Sucukdeluxe
ba673b9e53 Fix bandwidth chart growing infinitely
Use container.clientWidth/clientHeight instead of getBoundingClientRect
and stop overriding canvas style dimensions. CSS 100% handles display
sizing, canvas.width/height handles DPR-scaled render resolution.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:04:06 +01:00
Sucukdeluxe
3c510fc265 Add persistent all-time download counter, session vs total stats
- Track totalDownloadedAllTime in settings (persists across restarts)
- Track sessionDownloadedBytes for current app session
- Status bar shows both: Session + Gesamt
- Statistics section shows Heruntergeladen (Session) + (Gesamt)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:00:17 +01:00
Sucukdeluxe
4ea3a75dc0 Fix bandwidth chart not updating, fix pause button blocked by actionBusy
- Bandwidth chart drawChart effect now runs on every re-render instead
  of only when running/paused changes (chart was stuck showing empty)
- Pause button no longer wrapped in performQuickAction/actionBusy guard,
  so it works immediately even during ongoing operations

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:55:27 +01:00
Sucukdeluxe
670c2f1ff5 Unified package/total speed calculation, confirm dialog for context menu delete, show progress bar when collapsed
- Track packageId in speed events so package speed uses same 3-second
  window as global speed (fixes mismatch between package and status bar)
- Add packageSpeedBps to UiSnapshot, computed from speed events
- Context menu delete actions now respect confirmDeleteSelection setting
- Progress bar visible even when package is collapsed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:45:40 +01:00
Sucukdeluxe
f11190ee25 Fix Ctrl+Click selection, add Delete key with confirmation dialog
- Fix Ctrl+Click: mousedown no longer immediately adds item, preventing
  onClick from toggling it back off. Drag-select still works via mouseenter.
- Delete key removes selected items/packages with JDownloader-style
  confirmation dialog showing count and remaining items.
- "Nicht mehr anzeigen" checkbox disables future confirmations.
- New setting "Vor dem Löschen bestätigen" under Allgemein.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 18:31:45 +01:00
Sucukdeluxe
84d5c0f13f JDownloader 2-style UI overhaul, multi-select, hoster display, settings sidebar
Some checks are pending
Build and Release / build (push) Waiting to run
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 17:56:54 +01:00
Sucukdeluxe
a9c8ee2ff4 Sort active packages by completion percentage, not absolute count
Some checks are pending
Build and Release / build (push) Waiting to run
1/6 (16.7%) now ranks above 5/153 (3.3%) since it's further along.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 14:03:43 +01:00
Sucukdeluxe
10b4f18d33 Split progress bar: blue for download, green for extraction
Some checks are pending
Build and Release / build (push) Waiting to run
Left half (blue) shows download progress, right half (green) shows
extraction progress. When no extraction is active, full bar is blue.
Full bar = 50% blue (all downloaded) + 50% green (all extracted).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 12:57:11 +01:00
Sucukdeluxe
45b0d71dd0 Sort pinned packages by progress: most completed items first
Some checks are pending
Build and Release / build (push) Waiting to run
Active packages are now sorted by completed item count (descending),
then by downloaded bytes, so packages with real download progress
appear above packages still in link resolution phase.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 12:53:54 +01:00
Sucukdeluxe
e0eb3f0453 Pin actively downloading packages to top of list
Some checks are pending
Build and Release / build (push) Waiting to run
Packages with items in downloading/validating/extracting/integrity_check
state are always shown at the top regardless of sort order (A-Z or Z-A).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 12:50:14 +01:00
Sucukdeluxe
daf70211ac Add total download speed to stats bar
Some checks are pending
Build and Release / build (push) Waiting to run
Show current aggregate speed (all active downloads) in the stats bar
next to Pakete/Dateien/Gesamt. Only visible while session is running.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 12:47:11 +01:00
Sucukdeluxe
e485cf734b Async FS optimizations, exponential backoff, cleanup dedup and release v1.4.72
Some checks are pending
Build and Release / build (push) Waiting to run
- 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
Sucukdeluxe
e7f0b1d1fd Fix start-conflict skip behavior and release v1.4.67
Some checks are pending
Build and Release / build (push) Waiting to run
2026-03-01 20:03:58 +01:00
Sucukdeluxe
237bf6731d Move Statistiken tab to the right of Einstellungen
Some checks are pending
Build and Release / build (push) Waiting to run
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 18:11:41 +01:00
Sucukdeluxe
a0cdac87e8 Add bandwidth statistics tab with live chart
- Add new Statistics tab between Downloads and Settings
- Implement real-time bandwidth chart using Canvas (60s history)
- Add session overview with 8 stats cards (speed, downloaded, files, packages, etc.)
- Add provider statistics with progress bars
- Add getSessionStats IPC endpoint
- Support dark/light theme in chart rendering
2026-03-01 15:56:57 +01:00
Sucukdeluxe
ab9b3e87b1 Set default auto-retry limit to infinite 2026-03-01 04:31:04 +01:00
Sucukdeluxe
3f17cc8cb4 Add configurable auto-retry limit with optional infinite retries 2026-03-01 04:18:41 +01:00
Sucukdeluxe
508977e70b Add update install progress feedback and collector metrics line 2026-03-01 03:33:18 +01:00
Sucukdeluxe
809aec69c2 Add optional flat MKV library collection per package 2026-03-01 03:23:26 +01:00
Sucukdeluxe
43bc95b7fc Switch updater and docs from GitHub to Codeberg 2026-03-01 02:40:11 +01:00
Sucukdeluxe
474ff8cd26 Release v1.4.39 with Multi Debrid Downloader title format
Some checks are pending
Build and Release / build (push) Waiting to run
2026-03-01 02:25:17 +01:00
Sucukdeluxe
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
Sucukdeluxe
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
Sucukdeluxe
edbfba6663 Release v1.4.33 with DLC import and stats hotfixes
Some checks are pending
Build and Release / build (push) Waiting to run
2026-03-01 01:39:51 +01:00
Sucukdeluxe
6ac56c0a77 Release v1.4.31 with full bug-audit hardening
Some checks are pending
Build and Release / build (push) Waiting to run
2026-03-01 00:33:26 +01:00
Sucukdeluxe
6ae687f3ab Release v1.4.30 with startup and UI race-condition fixes
Some checks are pending
Build and Release / build (push) Waiting to run
2026-02-28 22:33:19 +01:00
Sucukdeluxe
eda9754d30 Release v1.4.29 with downloader and API safety hardening
Some checks are pending
Build and Release / build (push) Waiting to run
2026-02-28 21:31:42 +01:00
Sucukdeluxe
84d8f37ba6 Release v1.4.28 with expanded bug audit fixes
Some checks are pending
Build and Release / build (push) Waiting to run
2026-02-28 19:47:46 +01:00
Sucukdeluxe
05a0c4fd55 Fix PackageCard memo comparator to include callback props
Prevents stale closures when callback identities change but data props remain the same.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 18:09:51 +01:00
Sucukdeluxe
8700db4a37 Release v1.4.27 with bug audit hardening fixes 2026-02-28 14:12:16 +01:00
Sucukdeluxe
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
Sucukdeluxe
c1e614650a Release v1.4.24 with UI improvements
- Fix drag overlay appearing during internal package reorder
- Rename "Paket abbrechen" to "Paket löschen"
- Make package deletion instant (remove performQuickAction delay)
- Add A-Z / Z-A sorting buttons for packages

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 12:41:39 +01:00
Sucukdeluxe
9598fca34e Release v1.4.23 with critical bug audit fixes
Some checks are pending
Build and Release / build (push) Waiting to run
2026-02-28 12:16:08 +01:00