feat: sync Playlists, wip: pair songs

This commit is contained in:
2026-05-14 02:43:49 +02:00
parent 26115f773f
commit e2ab026e84
36 changed files with 2324 additions and 34 deletions

24
BUGS.md Normal file
View File

@@ -0,0 +1,24 @@
# Bugs
- syncJukeboxIfToken() is always called at startup, even if we have a jukebox already
- "Caveat: If a sync gets past the fetch phase, runs clearAllTables(), then dies while writing some playlists, you could still end up with a partial cache. Fixing that would mean a single Room transaction or a “swap” strategy; say if you want that next."
- "playlists 401" in Playlists Activity should send us back to the Spotify auth screen
- the server should implement some rate limiting / deadman switch / to avoid spamming Spotify API with broken-app API calls
## Nice-to
- TrackFileMatching, scoreAgainstLocalHints
- these are very rudimentary heuristics to pairing mp3 files to the playlists. check them again.
- Playlist has empty name, id=0gjOliftUAwV48X6KK9EeP
- in our server-side api, we might want to log such events too
.
- (pairing songs) "Possible race: openTree callback may capture an empty tracks list if the folder was picked before LiveData emitted."
- toast: "no tracks loaded for this playlist yet. [...]"