- AirPlay button in player (WebKit AirPlay API + Remote Playback fallback)
- x-webkit-airplay=allow on audio element
- build-and-push.sh synced from shared master (1.2.0 -> 1.7.0)
- .gitignore for .files/, apple-touch-icon.png
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Switch to shared build-and-push.sh; version read from docs/changelog.md
- Add docs/changelog.md; remove version.txt, .last-branch, .gitignore
- Stack: image tag via SLEEP_MEDITATION_IMAGE_TAG
- Downloader: YouTube support (yt-dlp + ffmpeg), best audio to mp3
- Downloader: Content-Type validation for direct URLs
- Downloader: auto-fetch YouTube title; title field optional
- Downloader: progress bar with phase (downloading/converting)
- Downloader: store source URL per file; show Source link in manage list
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>