Commit Graph

171 Commits

Author SHA1 Message Date
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
hl-valdemar f6485bf221 feat: animate the start-screen URL field
Use a scoped 250 ms fade and top-anchored scale transition with animated recent-row reflow. Respect Reduce Motion, preserve the fixed window size, and exercise native focus, draft retention and rapid reversals.
2026-10-19 19:05:17 +02:00
hl-valdemar 6d653e8875 fix: enable window dragging outside interactive controls
Use background-only native drag gestures so scroll content and overlays remain draggable without stealing control, text, or queue-row input. Compact mode uses the same explicit drag surfaces rather than broad native background movement.
2026-10-19 19:05:17 +02:00
Valdemar Lorenzen 997eb144d2 fix: disambiguate SwiftUI State with macOS 27 SDK
Use a file-private ViewState alias for all twelve state properties, including start-screen hover and playback queue state, on current main@origin. Document the standalone Command Line Tools workaround.

Verified: make release; release check-runtime; release CLI --help; dlopen of the release player library and terebi_app_main symbol lookup.
2026-10-19 12:10:05 +02:00
hl-valdemar 9e4cb05439 style: rebalance start screen branding and drop hint 2026-10-19 08:41:16 +02:00
hl-valdemar 2d3cc6e6b4 style: soften start screen typography and spacing 2026-10-18 23:40:41 +02:00
hl-valdemar 67b38394d3 fix: fill the fixed start window through its safe area 2026-10-18 23:29:20 +02:00
hl-valdemar 47395491b7 fix: enforce start size through SwiftUI window constraints 2026-10-18 23:23:36 +02:00
hl-valdemar 4748e3ea2f feat: fix start screen window dimensions 2026-10-18 23:12:04 +02:00
hl-valdemar a6fa54fc42 feat: adopt a two-pane start screen 2026-10-18 23:02:22 +02:00
hl-valdemar 4b9436c04a fix: play playlist entries on single click 2026-10-18 22:50:14 +02:00
hl-valdemar ef3aae842d fix: keep playlist reordering active while dragging 2026-10-18 22:39:43 +02:00