Replace unreliable emoji flags in the native select with a custom language picker that renders real CSS flag icons, improve retry button naming/tooltips, and keep quick/full e2e coverage green after the UI change.
Introduce a longer smoke-test-full workflow for validating queue, media tools, localization, and reliability flows in one pass, and document both quick and full test commands for contributors.
Expose a single runnable end-to-end test command for fast regression sweeps and update the smoke test to validate preflight and localization-aware clip errors reliably across language modes.
After exhaustive end-to-end validation, fix clip error localization in English mode and confirm full cutter/merge reliability with regenerated local media tests, then ship a patch release for immediate auto-update rollout.
Ship a major update that adds in-app preflight diagnostics with health badge, live debug log tooling, retry management, pause/resume downloads, queue reordering support, locale polish (flags + clearer retry wording), and extensive backend hardening for day-to-day stability.
Add an in-app preflight diagnostics center with optional auto-fix, introduce backend retry handling for failed downloads, provide live debug log viewing in settings, and expand queue controls with retry-failed actions while keeping language switching instant and locale data organized.
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.
Create a separate docs project with Astro and MDX so product documentation can evolve independently from the Electron app while supporting the planned TS/MDX migration.
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.
Refresh Twitch authentication automatically when selecting streamers and retry Helix calls after 401 responses so valid streamers no longer show empty VOD states due to stale connection state.
- 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>