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). |
||
|---|---|---|
| .. | ||
| artwork.go | ||
| artwork_test.go | ||
| backup.go | ||
| cmd_suite_test.go | ||
| inspect.go | ||
| pls.go | ||
| plugin.go | ||
| plugin_test.go | ||
| root.go | ||
| scan.go | ||
| scan_test.go | ||
| signaller_nounix.go | ||
| signaller_unix.go | ||
| svc.go | ||
| svc_test.go | ||
| user.go | ||
| utils.go | ||
| wire_gen.go | ||
| wire_injectors.go | ||