Skip to content

[codex] Validate title-bound TV playback evidence - #24

Draft
AndreKalberer wants to merge 1 commit into
codex/hbr005-tv-audio-controlsfrom
codex/hbr003-tv-playback-evidence
Draft

AndreKalberer wants to merge 1 commit into
codex/hbr005-tv-audio-controlsfrom
codex/hbr003-tv-playback-evidence

Conversation

@AndreKalberer

Copy link
Copy Markdown
Owner

A TV iframe page load or a playback event from another title or episode could previously mark the active player ready. Validate VidLink's documented PLAYER_EVENT identity and timing against the current title, episode, provider, canonical frame route, HTTPS origin and active iframe source. Reject missing or mismatched identity, paused/metadata events and superseded frames. A loaded iframe still reveals usable controls and cancels load failover while the viewer can click Play; it does not prove playback. Remove the VidSrc page-load readiness timer.

Add focused identity/session regression tests and an offline real TV DOM smoke test. Load the shared validator in TV source and stage it into LG, Samsung and Android assets. No version bump or playback availability preflight is included.

Dependency and integration

Stacked on draft #18 (codex/hbr005-tv-audio-controls, base commit 31b8cb73a799f4dff93049945c334c527a304930); review this PR's eight-file delta against that branch. Preserve the callback-based staging fix from #16 when assembling the full release.

Two fixture adaptations were verified only in the isolated complete 2.3.10 integration QA copy and are required when integrating #16: change tests/tv-staging-smoke.cjs expected inline scripts from 8 to 9, and include shared/playback-providers.js in tests/tv-staging.test.cjs synthetic fixture inputs. Those test files are absent on this PR's base and are intentionally not duplicated here.

Validation

  • Fresh publisher checks: npm test, evidence/provider unit fixtures, syntax checks and git diff --check passed. Offline real TV DOM evidence smoke passed with an isolated temporary profile; its initial restricted-environment run crashed at renderer startup and passed on normal local execution.
  • Author verification: consumer checks and source/staged-LG evidence smoke passed. Independent review reported no findings and passed evidence/provider/syntax/diff/staging/extracted-LG parity checks.
  • Isolated complete 2.3.10 integration QA: full npm test, source/staged/extracted LG evidence smoke, audio regression with readiness polling and cancellation, HLS execution, nine inline modules, zero bogus script text, three layouts and local WAV playback passed. Extracted LG page matched the staged page byte-for-byte; Samsung/Android shared validator assets matched source.
  • The inherited [codex] Add TV audio playback controls #18 audio fixture failed once on its fixed 1400 ms readiness assumption during branch test:tv-smoke; no runtime audio edits were made here. The complete-baseline polling audio regression passed, including pending-play cancellation and genuine failure/retry.

Limits

Positive evidence remains session-local and specific to VidLink's documented mtmdbId schema. Physical TV behavior and real provider playback were not verified; no installation or deployment occurred. Exhaustive provider availability and broader TV/desktop catalog correspondence remain unresolved. Provider listings and inaccessible provider documentation are not evidence of playback or unavailability.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant