Move DE/EN translation content into separate renderer locale files, keep instant language switching, add locale-aware date/number formatting helpers, and set English as the default language for fresh installs.
Make English the initial language for fresh installations while keeping live DE/EN switching, and split locale dictionaries into dedicated per-language files for cleaner long-term translation maintenance.
Introduce a centralized renderer text dictionary with German and English locales, add a language selector in settings, and apply translations instantly across UI sections and dynamic status labels without requiring app restart.
Polish mixed-language labels across tabs by replacing leftover English terms (views, queue, cutter naming, clip heading) with consistent German wording so the interface reads uniformly end-to-end.
Align visible queue and clip messages to German terminology, remove remaining mixed English labels, and reuse resilient streamlink command resolution for clip downloads to keep behavior consistent across environments.
Remove duplicate part-progress wording in the queue by keeping part index in the meta line and using the progress line for transferred data/percent, while labeling throughput as Geschwindigkeit for clearer download monitoring.
Improve first-phase download feedback by emitting explicit preflight/start statuses from the backend so the queue no longer appears to jump between ambiguous placeholder texts during active transfers.
Defer heavy tool auto-install checks from startup to first-use paths to avoid long launch stalls, and merge backend queue snapshots with in-flight renderer progress state so download status text no longer jumps between placeholder states.
Download and extract streamlink/ffmpeg dependencies into ProgramData when unavailable so fresh server installs can start downloads without manual tool setup, while preserving detailed debug logging for failures.
Resolve streamlink execution more robustly by trying direct binary and Python module launchers, then return actionable error messages when streamlink is missing on server environments.
Keep queue visibility synced while downloads run, show richer per-item progress/error states in the sidebar, and write backend downloader diagnostics to ProgramData debug.log so instant start/stop failures can be traced on user systems.
Allow streamer/VOD browsing without Twitch credentials via public GraphQL fallback, harden queue visibility by syncing renderer state with backend updates, and ship a comprehensive Astro/MDX documentation set similar to established downloader projects.
Use a safe path join for ffprobe instead of broad string replacement so video info, cutter duration, and merge duration checks work reliably on Windows installations.
Move streamer, queue, settings and update logic into dedicated renderer files, introduce shared type declarations, and remove ts-nocheck so the UI codebase can continue migrating toward a maintainable TypeScript-first structure.
Move inline UI logic into a dedicated TypeScript renderer file and extract CSS into a standalone stylesheet to continue the migration away from monolithic HTML and toward a TS-first structure.
- Show version in window title bar
- Auto-select first streamer on startup
- Center empty state properly
- Better tab content layout
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add animated indeterminate progress bar during download
- Show 100% when download complete
- Better status text during update
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move streamer search to header (top right)
- Switch from custom server to GitHub Releases for auto-updates
- Add force-close running app in installer
- Center empty state vertically
- Add sidebar scroll fix
- Add desktop shortcut with version name
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Added sliders for Start/End time selection
- Fixed filename format examples (DD.MM.YYYY_PartNum.mp4)
- Proper slider styling with orange color
- Sync between slider and text input
- Filename format without "Part" prefix in simple mode
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
New feature:
- Clip erstellen button on VOD cards
- Modal dialog with start/end time sliders
- Time input fields for precise selection
- Custom clip support with part numbering
- Downloads only selected time range using streamlink --hls-start-offset/duration
Technical changes:
- Added CustomClip interface to QueueItem
- Updated downloadVOD to handle custom clips
- New clip dialog UI with sliders and inputs
- Queue shows clip items with * prefix
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
New features:
- Video Cutter with timeline UI, preview, and frame extraction
- Video Merge functionality to combine multiple videos
- Part-based VOD downloads (split long VODs into segments)
- Download progress with speed and ETA display
- New navigation tabs for Cutter and Merge
Technical changes:
- Added FFmpeg/FFprobe integration for video processing
- New IPC handlers for video operations
- Extended preload API with cutter/merge methods
- Progress event listeners for cut/merge operations
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Complete rewrite using modern web technologies:
- Electron for cross-platform desktop app
- TypeScript for type-safe code
- Modern UI with multiple themes (Twitch, Discord, YouTube, Apple)
Features:
- VOD browsing and download with Streamlink
- Clip downloader
- Download queue with persistence
- Settings management
- Auto-update support
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>