docs(site): document thumbnail CORS inheritance - #2298
Merged
Conversation
A cross-origin thumbnail <track> only loads when the media element is CORS-enabled, and Thumbnail now inherits that mode for the sprite sheets its cues point at. The Quick Start snippets paired a cross-origin Mux storyboard.vtt with a media element that had no crossorigin, so they produced no thumbnails as written. Refs #2290
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
✅ Deploy Preview for vjs10-site ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
@videojs/core
@videojs/element
@videojs/html
@videojs/media
@videojs/react
@videojs/spf
@videojs/store
@videojs/utils
commit: |
Contributor
📦 Bundle Size Report🎨 @videojs/html — no changesPresets (7)
Media (20)
Players (5)
Skins (29)
UI Components (43)
⚛️ @videojs/react — no changesPresets (7)
Media (23)
Players (5)
Skins (26)
UI Components (37)
🧩 @videojs/core — no changesEntries (76)
🏷️ @videojs/element — no changesEntries (2)
📦 @videojs/store — no changesEntries (3)
🔧 @videojs/utils — no changesEntries (13)
📦 @videojs/media — no changesEntries (20)
📦 @videojs/spf — no changesEntries (10)
ℹ️ How to interpretEach entry is independently bundled, minified, and brotli-compressed. Initial size includes its static import graph; lazy dynamic chunks are reported separately. Entries are not additive because their dependency graphs overlap. Preset rows represent realistic combined bundles. Changes of 300 B or less across initial, lazy, and total size are collapsed, not discarded. Run |
sampotts
approved these changes
Aug 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #2290
Summary
#2273 gave
Thumbnaila newcrossOrigincontract: left unset it inherits the media element's CORS mode, since a cross-origin thumbnail<track>only loads when the media is CORS-enabled. The docs never said so, and two copy-pasteable Quick Start snippets paired a cross-origin Muxstoryboard.vttwith a media element that had nocrossorigin— so they produced no thumbnails as written.Changes
crossOrigin="anonymous"/crossorigin="anonymous"on the media element, matching the page's own demos andHeroVideo.tsx, with a line on why and a note that same-origin tracks need none of it.nullopt-out, that leaving the HTML attribute off is not the opt-out, that an empty value reads as Anonymous per the CORS settings attribute, and thatthumbnailssources never inherit.thumbnailTrackCrossOriginstate field alongside the generated table.crossOriginon<Video>.Two judgment calls
migrate-from-plyr.mdxgets a note rather than a hardcodedcrossOrigin="anonymous". The example'soriginprop is often same-origin, and addingcrossoriginunconditionally breaks playback when the host sends no CORS headers. The note says when to add it.poster.mdxis untouched. fix(packages): load posters and storyboard thumbnails in cross-origin-isolated pages #2273's title covers posters, but there is nocrossOriginanywhere in the Poster core/React/HTML sources — that half of the fix landed in sandbox templates, so the public API did not move.Testing
pnpm -F site astro check— 0 errorspnpm build:site— complete; spot-checked the rendered thumbnail reference page for the new prose and snippetsComponentReferenceandFeatureReferencetables need no hand editsNote
Low Risk
Documentation-only updates to CORS usage for thumbnails; no runtime or API code changes.
Overview
Documents
ThumbnailCORS inheritance so copy-paste examples actually load Mux storyboards.Quick Start now sets
crossOrigin="anonymous"on the media element for the cross-origin Mux VTT, and notes same-origin tracks need none of that. A new Cross-origin images section explains inherit-from-media by default,crossOrigin={null}as the only opt-out, empty/absent attributes, and that JSONthumbnailsnever inherit.MuxVideo storyboard docs require CORS on the element; text-track docs mention
thumbnailTrackCrossOrigin; the Plyr React migration notes when to addcrossOriginon<Video>instead of hardcoding it.Reviewed by Cursor Bugbot for commit b101bee. Bugbot is set up for automated code reviews on this repo. Configure here.