docs: record 1.1 hard-won knowledge in CLAUDE.md; refresh README
CLAUDE.md: - Download pipeline: leading aesthetic characters in artist names must be trimmed before the iTunes lookup (a missed match cascades into a wrong-duration YouTube grab), and an album tag is always written (defaulting to Singles) so Navidrome and the metadata editor agree. - New Android section covering the traps this release cost the most time on: a BackHandler inside a NavHost destination loses back priority (overlay back must be registered at the app root), overlay state must live in the ViewModel rather than remember/rememberSaveable, bottomBar and ModalBottomSheet inset handling, reusing the Ktor client, global optimistic StarState, and iTunes artists having no artwork. README: offline downloads also cover single songs and work without a server connection; StarState added to the data/ listing. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
a80ac3deb0
commit
c5649ac22f
2 files changed
+37
-2
No files matched your search
@@ -14,7 +14,7 @@ Built with Vite + vanilla ES modules (web) and Jetpack Compose + Media3/ExoPlaye
|
||||
- **Playlists** — Create, rename, delete, add/remove tracks, and upload a cover (Web + Android).
|
||||
- **Importer & downloads** — Paste a Spotify / YouTube / YouTube Music / SoundCloud link to download via yt-dlp, with iTunes metadata enrichment and duplicate detection.
|
||||
- **Metadata editor** (web) — Edit tags + cover art; files are renamed/moved and Navidrome is rescanned on save.
|
||||
- **Offline** (Android) — Download albums/playlists to private storage; an Offline tab to play and manage them; downloaded tracks play from disk on every screen.
|
||||
- **Offline** (Android) — Download albums, playlists, or single songs to private storage; an Offline tab to play and manage them (works without a server connection); downloaded tracks play from disk on every screen.
|
||||
- **Audiobookshelf** — Browse and stream audiobooks with chapter navigation, speed control, sleep timer, and progress sync.
|
||||
|
||||
Web is an installable PWA (themes, German UI); Android is native Jetpack Compose + Media3/ExoPlayer with a mini player, media/ABS notifications, and Android Auto. See [CHANGELOG.md](CHANGELOG.md) for the full web/Android parity matrix.
|
||||
@@ -65,7 +65,7 @@ NovaSonic/
|
||||
├── android/ # Native Android app (Jetpack Compose + Media3)
|
||||
│ └── app/src/main/kotlin/com/novasonic/app/
|
||||
│ ├── api/ # SubsonicClient, AbsClient, LrcLibClient, ItunesClient
|
||||
│ ├── data/ # PrefsStore (DataStore), MusicRepository
|
||||
│ ├── data/ # PrefsStore (DataStore), MusicRepository, StarState
|
||||
│ ├── offline/ # Room DB, DAO, OfflineRepository, DownloadWorker (offline downloads)
|
||||
│ ├── player/ # PlayerController, MusicService (Media3)
|
||||
│ ├── ui/
|
||||
|
||||
Reference in new issue
Block a user