Changed
- Safari : All page-context script injections now support dual-mode loading (URL for Chrome/Firefox, inline execution fallback for Safari).
- Audio track and subtitle/embed title settings now use dedicated listeners instead of a single combined listener, allowing each to trigger at the optimal moment. (as soon as possible for audio to avoid user hearing a cut when changing audio track, later for the rest to let the player load fully)
- Simplified subtitles injection script by removing API orchestration and polling logic.
Fixed
- Safari 26 CSP now blocks execution of extension scripts injected via script.src; added Safari-specific inline script execution using textContent.
- Subtitle and audio track settings being overridden by YouTube's own initialization sequence on initial page load.