Skip to content

Prevent overlapping narration across presentations (v1.21.1) - #44

Merged
tomqwu merged 1 commit into
mainfrom
codex/narration-audio-focus
Sep 9, 2026
Merged

tomqwu merged 1 commit into
mainfrom
codex/narration-audio-focus

Conversation

@tomqwu

@tomqwu tomqwu commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Two open presentation pages could narrate at the same time. Starting a second player now takes audio focus across same-origin tabs/windows, page guides, native media controls and nested embedded decks. The previous player stays paused, including during buffering and the two-second gap before auto-next.

The shared controller cancels stale transitions, ignores delayed play events from cancelled requests and orders cross-window claims. BroadcastChannel uses storage events as a fallback. Existing recordings, captions, diagrams and slide/PDF editions are unchanged; existing presentation tabs need a refresh to load the update.

Validation: reproduced the previous overlap with actual recordings in Chromium and WebKit, then confirmed the fix. Added CI coverage for cross-page and frame handoffs, simultaneous requests, cancelled loading, delayed native events, duplicate initialization, native controls, pending slide transitions, storage-only fallback and no automatic resumption. Existing player and shipped-recording checks pass; the full publication suite runs on this PR. Release metadata and narration documentation are updated to v1.21.1.

@tomqwu
tomqwu merged commit 1f5400f into main Sep 9, 2026
3 checks passed
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