mirror of
https://github.com/navidrome/navidrome.git
synced 2026-08-01 07:21:17 +00:00
Move the legacy getLyrics artist/title resolution out of the subsonic handler and into the core lyrics service as GetLyricsByArtistTitle. The service now holds a DataStore and owns the candidate query, the bounded duplicate window (maxLegacyLyricsCandidates), and the source-priority resolution, mirroring the by-song-id path. The subsonic handler collapses to a single service call plus response mapping, no longer reaching into the datastore or knowing the candidate cap. NewLyrics gains a DataStore parameter (wired via Wire). The now-unused SongsByArtistTitleWithLyricsFirst filter is removed. Behavior is unchanged. Adds core tests covering the window bound, empty result, and resolution. Signed-off-by: Deluan <deluan@navidrome.org>