fix(overlay): defer autoplay release for untokenized startup priming

- Autoplay-ready gate now ignores untokenized subtitle payloads while tokenization warmup is pending, so playback doesn't resume before the first tokenized cue
- Wire isTokenizationReady dep through main.ts and update gate/wiring tests accordingly
- Drop stale release/release-notes.md, add changelog entry under changes/
This commit is contained in:
sudacode committed 2026-07-12 02:11:10 -07:00
1 parent 7d81342f0f
commit 14070acceb
6 files changed
+101 -90

No files matched your search

+9 -1
View File
@@ -278,7 +278,15 @@ test('startup autoplay release is tied to visible overlay measurement readiness'
assert.ok(gateBlock);
assert.match(gateBlock, /isSignalTargetReady:\s*\(signal\) =>/);
assert.doesNotMatch(gateBlock, /isTokenizationWarmupReady\(\)/);
// Untokenized signals are filtered by the gate's isTokenizationReady dep, not
// by the target-readiness predicate (which must stay warmup-free so warm and
// tokenized releases are never deferred behind the global warmup flag).
assert.match(gateBlock, /isTokenizationReady:\s*\(\) => isTokenizationWarmupReady\(\)/);
const signalTargetReadyBlock = gateBlock.match(
/isSignalTargetReady:\s*\(signal\) =>(?<body>[\s\S]*?)\n schedule:/,
)?.groups?.body;
assert.ok(signalTargetReadyBlock);
assert.doesNotMatch(signalTargetReadyBlock, /isTokenizationWarmupReady\(\)/);
assert.match(gateBlock, /isVisibleOverlayAutoplayTargetReady\(/);
assert.match(gateBlock, /getLatestVisibleMeasurement:/);