mirror of
https://github.com/screentinker/screentinker.git
synced 2026-06-17 03:32:32 -06:00
The content-tab preview embedded a RAW iframe with enablejsapi=1 (baked into the stored /embed URL by /youtube) plus origin=window.location.origin — but the content tab loads the YouTube IFrame API zero times. enablejsapi=1 + origin tells YouTube's player to expect a postMessage handshake from a parent JS API that never exists here, which surfaces as "Video player configuration error" (153). Same-video proof: it plays on the device player (which loads iframe_api + uses YT.Player, so the handshake completes) and failed only on the content tab — so it was never a video/embeddability problem, purely the embed construction. Fix: the preview is passive (never drives playback via JS), so it must not declare the JS API — strip enablejsapi + origin, leaving a plain /embed/ID (the form that plays in a bare tab). Did NOT touch /youtube storage (the player extracts the videoId and ignores stored params, so the baked-in enablejsapi is harmless there). Retracts the earlier wrong "validate embeddability at add-time" diagnosis (never built — it would have rejected this embeddable video). Frontend-only; suite 149 green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| activity.js | ||
| admin-player-debug.js | ||
| admin.js | ||
| billing.js | ||
| content-library.js | ||
| dashboard.js | ||
| designer.js | ||
| device-detail.js | ||
| force-password-change.js | ||
| help.js | ||
| kiosk.js | ||
| layout-editor.js | ||
| login.js | ||
| no-workspace.js | ||
| onboarding.js | ||
| playlists.js | ||
| reports.js | ||
| schedule.js | ||
| settings.js | ||
| teams.js | ||
| video-wall.js | ||
| widgets.js | ||
| workspace-members.js | ||