Repository navigation
Conversation
w3cj
commented
Oct 7, 2026
- Youtube embeds on home page list of recent episodes
- Youtube embeds on every page of /shows
- Youtube embed on individual /show/ page
- Miniplayer shows at bottom right when scrolling embed out of view
- Navigating away from a page where video play started, keeps episode playing mini player in bottom right
- Seek / play activity saved to local storage so you can resume an episode
- Bottom play bar controls and stays in sync with currently playing video
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…ine handling - Replace per-embed scroll listeners and intervals with a shared IntersectionObserver and a single playback ticker - Keep the mini-player mounted (hidden) to avoid iframe reloads; on list pages it keeps playing until the card is played directly - Add video/audio preference toggle (default video, audio when offline) - Track audio and video positions separately; route audio-timeline timestamps (show notes, transcript, ?t=) to video only when durations match - Throttle position saves, sync player with youtube_player via store subscription, type the media-chrome media swap - Mini-player follows the bottom player height; layout fixes scoped to video cards; dedupe show header with a snippet - Move store tests to src/state and add media_timeline tests Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Bundle ReportChanges will increase total bundle size by 69.48kB (0.84%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: website-server-esmAssets Changed:
Files in
Files in
Files in
Files in
Files in
Files in
Files in
App Routes Affected:
view changes for bundle: website-client-esmAssets Changed:
Files in
Files in
Files in
Files in
Files in
Files in
Files in
Files in
App Routes Affected:
|
- snake_case renames in Transcript (incl. ai_show_note prop), ShowCard, and show layout - Remove unused vars/catch bindings - Make show page JSON-LD schema $derived so it updates when navigating between episodes, and fix the parse error from the inline template Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
On mobile, playing a video and then scrolling stops the youtube video from playing and then re-embeds it without resuming the play. |
Replace the separate mini-player with a single global <youtube-video> that is positioned over the episode's embed or docked in the player bar, so moving between them never reloads the iframe. - Mobile (<= 809px) player bar: video beside the play/seek buttons, seek bar with rate button, then volume and combined timestamp - Docked video: click to play/pause, buttons to watch on the episode page and go full screen; show page embed gets dock and full screen buttons - Record video durations from embed previews so timestamps can still tell whether audio and video timelines match - Stop a switched video from staying in a "switching" state forever, and only mark a video loaded once it's actually loading - Coalesce IntersectionObserver rebuilds when the bar changes height - Add --stacked-video-bar custom media, aria-hide duplicate controls Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 120px video to the left of the controls, play/seek buttons left of the seek bar, timestamp right under it, half-width volume aligned with the seek bar - Episode page and full screen buttons centered under the play buttons on mobile instead of over the small video, sharing code via video_actions.ts - New undock icon for "watch on episode page", distinct from share - Title back at the top of the bar on mobile, ellipsized before the action bar buttons Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Styles and scroll behavior updated. Let me know what you think. |



