mirror of
https://github.com/navidrome/navidrome.git
synced 2026-10-08 10:27:08 +02:00
`artwork explain` rejected `dc` and `mf` because it validated against RecheckKinds, the list of kinds the backfill revisits. Those are different questions: a kind with no recheck path still has artwork someone can report as wrong. Disc artwork now walks DiscArtPriority under a trace, so explain reports which entry won and why the others lost, including entries that map to no source at all (external is unsupported, a disc with no subtitle, an album folder with no images). Media file artwork traces its single embedded candidate, separating "EnableMediaFileCoverArt is off" from "the track has no embedded art" — stored state cannot tell those apart. Each command now validates against the kinds it can actually serve: explain takes all six, refresh takes artwork.RefreshableKinds (which nativeapi now shares instead of keeping its own copy), reprocess still takes RecheckKinds. Disc artwork stays out of refresh: the worker cannot resolve it, so the queue row would be rejected on every drain. WalksPriorityChain becomes Explainable, and ResolveArtist/ResolveAlbum collapse into Resolve(kind, id). |
||
|---|---|---|
| .. | ||
| artists.go | ||
| artwork.go | ||
| artwork_test.go | ||
| config.go | ||
| config_test.go | ||
| image_upload.go | ||
| inspect.go | ||
| library.go | ||
| library_test.go | ||
| missing.go | ||
| native_api.go | ||
| native_api_song_test.go | ||
| native_api_suite_test.go | ||
| playlists.go | ||
| playlists_test.go | ||
| plugin.go | ||
| plugin_test.go | ||
| queue.go | ||
| queue_test.go | ||
| radios.go | ||
| translations.go | ||
| translations_test.go | ||