10 Commits
Author SHA1 Message Date
Andre 6d93b98ee5 fix: ship electron-log in Flatpak
The Flatpak only copied a hand-picked subset of Node runtime dependencies. Once logging was introduced in the main and preload processes, the app could fail before opening a window because electron-log was missing from the packaged runtime. Including it keeps the Flatpak runtime consistent with the codebase and removes an early startup failure path on Steam Deck.
2026-05-16 13:10:38 +02:00
Andre 722bbc6f43 feat: add German and English UI language support
A single-language interface makes the app less usable for part of the audience
and encourages more hardcoded copy as new screens and states are added.
Introducing a shared i18n path with a persisted language preference gives the
UI one consistent way to present text and lowers the risk of partial or
inconsistent localization over time.

The surrounding copy cleanup belongs in the same change because it aligns
existing labels, messages, and settings text with that translation structure
instead of leaving mixed localization approaches in place.
2026-05-16 11:44:06 +02:00
Andre 1fe2093ebe chore: remove mpv and its build dependencies from Flatpak manifest
mpv was replaced by hls.js in v0.4.0 but its five build modules
(libass, libplacebo, libXpresent, Lua 5.2, mpv itself) and the
ffmpeg7 patch were never removed — dead weight in every build since.
2026-05-12 20:20:00 +02:00
Andre 48ab6e551f feat: replace mpv with hls.js HTML5 video player (v0.4.0)
- Remove mpvController.ts and hlsTrimmer.ts entirely
  - Rewrite PlaybackService: streamlink --stream-url → HLS-URL → IPC event playback:hls-url
  - Add VideoPlayer.tsx (hls.js <video> wrapper, forwardRef with seek/seekTo/pause/play/stop/getCurrentTime)
  - Integrate VideoPlayer into ChannelScreen with direct videoRef calls (no IPC roundtrip for seek/pause)
  - Add global AppShell playback overlay for direct stream start (A-button in Browse/Category/StreamList)
  - Propagate onStartLive callback through BrowseScreen, CategoryScreen, StreamListScreen
  - Add CORS bypass for Twitch CDN (webRequest.onBeforeSendHeaders) and autoplay-policy switch
  - Update CSP: add media-src 'self' blob: for hls.js MediaSource API
  - Open chapter panel without stopping playback (pause + resume instead of stop/restart)
  - Drop IPC channels: seek, seekTo, resume, togglePause, getCurrentPosition, onTimeUpdate
  - Add IPC channel: playback:hls-url event with HlsUrlPayload
2026-05-10 08:33:07 +02:00
Andre 028e56e2cb Fix für Resume und R2-Seeking bei fMP4-VODs auf dem Steam Deck
- ffmpeg-full im Flatpak eingebunden für vollständiges H.264/VAAPI-Decoding
  - Trigger-Repeat für L2/R2 deaktiviert, um gestapelte 300s-Seeks zu vermeiden
  - fMP4-HLS-Playlists über EXT-X-MAP erkannt
  - große fMP4-Seeks nicht mehr per In-Stream-Seek, sondern per Reload einer getrimmten Playlist
  - getrimmte Playlists über localhost statt file:// ausgeliefert
  - absoluten Playback-Offset eingeführt, damit mehrfaches R2 korrekt weiter vorspult
  - B Button ermöglicht, mit der selektierung zurück zum sidemenu zurückzukehren
  - Logging Schalter dem Einstellungs Screen hinzugefügt
2026-04-12 15:19:26 +02:00
Andre 276d27ca89 Update auf mpv 0.41.0 mit lua support 2026-04-12 11:48:08 +02:00
Andre f592de7aeb Phase 6 Fix 3
- Gamepad steamdeck repariert
- Navigation , Start und Stopp der Wiedergabe ist jetzt möglich
2026-04-10 22:03:42 +02:00
Andre ac9f9ea94f Phase 6 Fix 2
-Wiedergabe Livestream und VOD im Desktopmodus
2026-04-10 19:43:37 +02:00
Andre 0c88bded01 Phase 6 Fix 1
- Flatpak build erfolgreich
- Auf Steamdeck lauffähig
- Stream obder VOD Wiedergabe nicht möglich
2026-04-10 16:05:36 +02:00
Andre f31bad7cc9 Phase 6 ongoing WSL2-Vorbereitung 2026-04-09 16:36:38 +02:00