Deluan 65837316a9 refactor(lyrics): own the legacy artist/title lookup in the core service
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>
2026-06-19 08:41:36 -04:00
..
2026-05-28 22:13:05 -03:00