Commit Graph

169 Commits

Author SHA1 Message Date
hl-valdemar 0641859d95 feat: support YouTube VTT subtitle selection 2026-10-27 13:19:43 +01:00
hl-valdemar 41aa0abd56 fix: retain Zoko opening and ending metadata through playback 2026-10-25 23:08:38 +01:00
hl-valdemar d8fb648c90 fix: use a nonactivating compact panel across fullscreen spaces 2026-10-25 22:59:36 +01:00
hl-valdemar 599e2f548a feat: add opening/ending autoskip and correct sponsor hover anchors
Sponsor hover labels used the overlapping chapter midpoint; retain chapter-title lookup but anchor the label to the sponsored range midpoint.
2026-10-25 22:21:55 +01:00
hl-valdemar a604810319 feat: make sponsored blocks skippable 2026-10-25 21:43:44 +01:00
hl-valdemar 7052fe29af fix: resolve AniList playback using exact MAL mappings 2026-10-25 20:03:16 +01:00
hl-valdemar b95f7d251e feat: add headless Zoko source checks 2026-10-25 19:14:06 +01:00
hl-valdemar e6a2759497 perf: decode Zoko configuration in place 2026-10-25 16:51:18 +01:00
hl-valdemar 6463d47ed8 fix: validate AniList reports against version two schema 2026-10-25 16:51:18 +01:00
hl-valdemar ab61d83c69 feat: resolve AniList episodes through ZokoAnime 2026-10-25 16:51:18 +01:00
hl-valdemar 8c2a18df48 fix: persist SponsorBlock preference between launches 2026-10-25 03:47:20 +01:00
hl-valdemar b04ed7fdc8 feat: show optional SponsorBlock ranges on playback timeline 2026-10-25 03:11:03 +01:00
hl-valdemar edb17f76e3 feat: animate hovered chapter titles and active seek segments 2026-10-25 03:09:34 +01:00
hl-valdemar 119fe2e737 feat: segment playback slider with resolved YouTube chapters 2026-10-25 02:29:07 +01:00
hl-valdemar 2391dadc75 fix: normalize discovered IPv4 Cast receiver addresses 2026-10-24 23:47:04 +02:00
hl-valdemar f6fe617d92 fix: use IPv4 for YouTube playback extraction
The default route returned a YouTube anti-bot challenge; the same bundled extractor and media URLs work over IPv4 without cookies. Limit the route choice to canonical YouTube videos so generic sites keep their existing routing.
2026-10-24 03:02:47 +02:00
hl-valdemar 30e5787ecc fix: keep compact queue rows below shortened header fade 2026-10-22 23:22:05 +02:00
hl-valdemar 8df500da83 feat: support Miruro provider tracks, proxies, and native embeds 2026-10-22 19:43:15 +02:00
hl-valdemar 80d9e705e5 feat: select Miruro playback and caption providers 2026-10-22 18:55:28 +02:00
hl-valdemar 4576080955 fix: populate queue titles independently of playback extraction
The sidebar scheduler waited for playback and used full stream extraction for titles. Use independent utility-priority title requests, native YouTube oEmbed, and metadata-only extraction for generic sites. Preserve foreground title precedence and stale row protection.

Verified: make check-youtube check-queue check-resolved check-adaptive check-stream all.
2026-10-22 18:43:21 +02:00
hl-valdemar 98e6dcb3c5 feat: add expandable compact queue and sidebar shortcut 2026-10-22 18:38:01 +02:00
hl-valdemar 6ed7db8167 fix: resolve queued stream metadata in the background
Queue labels were only enriched through selected-entry playback. Resolve unplayed titles serially at utility priority, preempt enrichment for playback, and bind updates to queue item IDs.

Verified: make check-resolved check-queue check-youtube all.
2026-10-22 18:38:01 +02:00
hl-valdemar f1339050d9 feat: add expandable file and link controls to playlist 2026-10-22 18:38:01 +02:00
hl-valdemar 3ff498720b fix: replace retained report sessions when re-adding queue items 2026-10-22 17:26:11 +02:00
hl-valdemar b132bab393 feat: resolve HTTP video URLs with bundled yt-dlp 2026-10-22 17:15:40 +02:00
hl-valdemar 6a4afc9f0e feat: enqueue streams in running player 2026-10-22 17:02:15 +02:00
hl-valdemar ac8e284d80 feat: reduce local caption padding and font size 2026-10-22 16:03:52 +02:00
hl-valdemar 95600e728d feat: fade segment skip offers without sliding 2026-10-22 15:31:54 +02:00
hl-valdemar 4fe53c0a07 fix: verify stream queue startup and canonical report paths 2026-10-22 15:19:31 +02:00
hl-valdemar 0588d162d6 feat: lighten skip countdown and fill toward expiry 2026-10-22 14:26:10 +02:00
hl-valdemar 53369424e6 feat: show skip offer countdown and transitions 2026-10-22 14:25:34 +02:00
hl-valdemar 70672321a1 feat: receive ordered stream playback queues 2026-10-22 14:09:53 +02:00
hl-valdemar e7a33ff68e feat: place segment skip below titlebar 2026-10-22 14:05:43 +02:00
hl-valdemar 458b2c9544 feat: extend segment skip offers to ten seconds 2026-10-22 13:59:43 +02:00
hl-valdemar 3d949154a2 feat: offer timed opening and ending skips 2026-10-22 13:35:01 +02:00
hl-valdemar 7b53b00b15 fix: clip metadata intervals to playable duration 2026-10-22 13:24:33 +02:00
hl-valdemar fe34ce88f9 test: measure rendered progress thumb alignment 2026-10-22 12:43:29 +02:00
hl-valdemar 40e2ea45a0 fix: center progress thumb on pointer while seeking 2026-10-22 12:39:12 +02:00
hl-valdemar 19a1de625b fix: preserve native thumb geometry while seeking beside it
Remove the knobRect override: native slider geometry also affects drag positioning. Progress pointer tracking now shares the drawn thumb bounds, preserves the initial grab offset, and clamps to the track endpoints. Expanded native event regression covers adjacent clicks, thumb drags, track drags, and endpoint clamping; application build passes.
2026-10-22 12:30:19 +02:00
hl-valdemar dea8880b9b fix: match progress slider dragging to visible thumb
The 3-point progress thumb was drawn inside larger native knob bounds. Override those bounds for progress only so adjacent clicks seek; retain native volume geometry and tracking. Native click regression reproduced before the fix and passes afterward.
2026-10-22 12:17:30 +02:00
hl-valdemar 80c5f36479 fix: restore balanced playback controls alignment 2026-10-22 12:08:32 +02:00
hl-valdemar 4bf738d8d2 style: segment playback timeline with rounded gaps 2026-10-22 12:01:50 +02:00
hl-valdemar a1c8314391 feat: enrich Miruro URL playback metadata and timeline 2026-10-22 11:59:27 +02:00
hl-valdemar 4ac780de2a fix: avoid isolated volume setter reabstraction in Swift 6.3.3 2026-10-22 10:24:37 +02:00
hl-valdemar 419ac8d677 refactor: modernize Cast discovery and app activation 2026-10-22 10:12:37 +02:00
hl-valdemar 9a850e1722 feat: discover Chromecast receivers at startup 2026-10-20 22:17:43 +02:00
hl-valdemar 7036109152 fix: track hover across the entire player to prevent overlay feedback flicker 2026-10-20 22:09:47 +02:00
hl-valdemar 885dea74f2 ui: limit start screen to four recent videos 2026-10-19 20:20:04 +02:00
hl-valdemar 9f1dca3081 feat: open streaming URLs without changing resolved handoffs 2026-10-19 19:49:06 +02:00
hl-valdemar d068c52e04 fix: route the URL shortcut to the inline input 2026-10-19 19:11:36 +02:00