getCoverArt now always returns an image. Covers come from a stored path or URL, art embedded in the album's tracks, or the Cover Art Archive, and are saved under <data_dir>/covers. Remote images are downloaded once instead of redirecting the client. Albums with no art get a placeholder image and a marker that skips the lookup for 7 days. Responses carry Cache-Control so clients stop re-requesting the same covers.