Commit Graph
5 Commits
Author SHA1 Message Date
HoneyandClaude Opus 4.8 4d44a476a5 docs: note per-track artist search for mixed-artist album downloads
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 23:42:50 +02:00
HoneyandClaude Opus 4.8 c5649ac22f 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>
2026-07-19 18:15:21 +02:00
HoneyandClaude Opus 4.8 73fcfae30f feat(android): offline downloads — albums, playlists, detail screen & playback
Download albums/playlists to private device storage (Room + WorkManager,
HttpURLConnection streaming). New Offline tab lists groups with progress;
tapping a group opens a detail screen (cover-art rows, play/shuffle, per-song
delete from device). Downloaded tracks play from disk on every screen.
Album/playlist cards show a downloaded badge; download button resumes missing
songs. Song storage is dedup'd by ID and reference-counted on delete.

Fixes: Android 15 download crash (dropped banned DATA_SYNC foreground service);
offline detail flash-back (initial empty state no longer mistaken for deleted).

Docs: CHANGELOG 0.10 + parity matrix; condensed README Features.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 10:06:43 +02:00
HoneyandClaude Sonnet 4.6 fa4c954ab9 feat(0.9): romaji sort-tags only, robust dupe detection, Mittelweg no-duration, autofill all fields
- Japanese tracks stored with original names in folder/filename/tags; romaji only in sort tags
- findExistingTrack: case-insensitive, searches all album folders under artist, strips release suffix
- --max-filesize 30M + 2x duration cap on all yt-dlp calls
- iTunes collectionArtistName captured as album_artist; fixes compilation album splitting
- album_artist tag uses mainArtist (not rawArtist) so all tracks in one album are consistent
- No-duration cascade: steps 5-8 (title-only/no-filter) removed — fail cleanly like with-duration
- Autofill iTunes: fills title, artist, albumArtist, discNum (was album/genre/year/track/total only)
- Autofill MusicBrainz: fills albumArtist, discNum (was missing both)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 13:26:11 +02:00
HoneyandClaude Opus 4.8 4c85fec4ca docs: add CLAUDE.md with project conventions and download-pipeline knowledge
Captures the rules and hard-won details from recent work: no mocked frontend
data, two-part versioning, yt-dlp-only download cascade + Mittelweg rule, file
naming, the YTM-search limitation for obscure tracks, and edit/delete file
resolution. Loaded automatically by Claude Code at session start.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 20:48:29 +02:00