Polish audio controls and native AirPlay integration #10

Merged
conrad merged 1 commit from codex/playback-polish into main 2026-09-06 02:53:34 -04:00
Owner

Audio now has one coordinated set of custom controls over the retained native media element: play/pause, scrubber and timestamps, skip buttons, speed and Safari’s AirPlay picker. The mini player also offers AirPlay when available. Video keeps its native controls without the extra transport row.

Refine title/artwork spacing, give transcripts a compact header, and display ordinary cue timestamps. Media Session metadata, background-player ownership and exact Rust playback coordinates remain intact.

Validation: 534 web tests, TypeScript and production builds pass. Desktop Safari played the native audio fixture through the custom controls, retained position across the transcript toggle, and opened its native AirPlay picker with discovered receivers. Checked the narrow 320px layout. Real receiver playback and iPhone background/lock-screen behavior remain unverified.

Audio now has one coordinated set of custom controls over the retained native media element: play/pause, scrubber and timestamps, skip buttons, speed and Safari’s AirPlay picker. The mini player also offers AirPlay when available. Video keeps its native controls without the extra transport row. Refine title/artwork spacing, give transcripts a compact header, and display ordinary cue timestamps. Media Session metadata, background-player ownership and exact Rust playback coordinates remain intact. Validation: 534 web tests, TypeScript and production builds pass. Desktop Safari played the native audio fixture through the custom controls, retained position across the transcript toggle, and opened its native AirPlay picker with discovered receivers. Checked the narrow 320px layout. Real receiver playback and iPhone background/lock-screen behavior remain unverified.
Polish audio controls and preserve native AirPlay routing
All checks were successful
deploy-fly / validate (push) Successful in 7m58s
deploy-fly / deploy (push) Successful in 6m12s
aee5865de0
conrad merged commit aee5865de0 into main 2026-09-06 02:53:34 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
conrad/media!10
No description provided.