mirror of
https://github.com/austinried/subtracks.git
synced 2026-11-10 15:11:58 +01:00
87dc4499ca1e88654b50562655a2c29a1e1a9353
`SongListItem` carried a nullable `position` that only playlist rows have, so the album/song queries projected a fake `NULL AS position` just to map the shared type — a leak of the playlist concept into unrelated reads. Split it into `AlbumSongItem` (song, coverArt) and `PlaylistSongItem` (song, coverArt, position), plus a `SongItem` interface so the queue stays generic over kinds. The queue's `QueueWindowItem` now carries the optional `playlistPosition` for the keyset cursor, so no projection fabricates it. Playlist detail and its paging use `PlaylistSongItem`.
Languages
Kotlin
99.1%
Nushell
0.7%
Nix
0.1%