• v4.5.7 54197af863

    v4.5.7 Stable

    Administrator released this 2026-03-29 04:20:21 +02:00 | 358 commits to main since this release

    Release 4.5.7

    Bug Fix

    • Windows Notification App Name: The download-complete notification previously displayed electron.app.Electron as the sender name instead of the actual application name. Fixed by setting app.setAppUserModelId() during startup so Windows notifications display Twitch VOD Manager.

    Full Changelog Since 4.3.0

    Features (4.3.0 - 4.5.0)

    • VOD Merge & Split: Select 2+ pending VODs, merge them into a single group, automatically download all, merge via FFmpeg, split into time-based parts, and clean up temp files
    • Numbered Selection: User-defined merge order via numbered selectors (1, 2, 3...) instead of checkboxes
    • ETA Display: Estimated remaining time per download based on Streamlink progress percentage
    • Keyboard Shortcuts: Delete key removes selected items, S key toggles Start/Pause
    • Download Statistics Bar: Session stats at the bottom of the sidebar (total downloaded, avg speed, success/fail counts)
    • Drag & Drop Queue Reordering: Drag pending items to reorder the download queue
    • Expandable Queue Items: Click on a title to reveal URL, streamer, duration, and date details
    • Light Theme: Toggle between Dark and Light themes in Settings
    • Parallel Downloads: Support for up to 2 simultaneous downloads (configurable in Settings)
    • Windows Notifications: Desktop notification when all downloads complete
    • Filename Collision Detection: Automatic _1, _2 suffix when output files already exist
    • VOD Pagination: Fetch up to 5000 VODs per streamer (50 pages)

    Performance (4.4.0)

    • App startup ~4x faster (parallel IPC calls via Promise.all)
    • Progress updates use targeted DOM element updates instead of full innerHTML rebuild

    Bug Fixes (4.3.2 - 4.5.7)

    • Config is now flushed to disk on app exit (prevents data loss on quick close)
    • processQueue() guarded against concurrent invocations
    • Queue action buttons no longer pushed off-screen by long queue lists
    • mergeVideos() progress formula fixed for long videos
    • Split progress no longer reaches 100% before cleanup phase
    • FFmpeg preflight check added at start of merge pipeline
    • Partial split files cleaned up on failure
    • ETA calculation fixed (was showing video duration instead of actual remaining download time)
    • Numbered selectors render correctly (fingerprint includes selection state)
    • Selector boxes handle double-digit numbers (10+) without overflow
    • Drag-start properly blocked on non-pending items (HTML spec compliant)
    • Filename claim set prevents TOCTOU race in parallel downloads
    • Expanded queue details survive re-renders
    • Drag-drop listeners registered only once
    • activeDownloads Map guaranteed cleanup via finally block
    • Progress bar no longer jumps backward on stale queue updates
    • Clip dialog validates start/end times before submission
    • Video cutter checks for 0-byte output after FFmpeg
    • Config and queue files use atomic write pattern (tmp + rename)
    • formatDuration guards against NaN/Infinity input
    • Windows notification displays correct app name

    Code Quality (4.4.0 - 4.5.0)

    • Shared TypeScript interfaces extracted to src/types.ts
    • Tool discovery functions extracted to src/tools.ts (~430 lines removed from main.ts)
    • ESLint with security plugin configured
    • Queue JSON validation on load (filters corrupt entries)
    Downloads