33 Commits

Author SHA1 Message Date
Deluan
79c8d2f368
When retrieving images from external sources, avoid calling it again if data is already cached locally.
Relates to https://github.com/navidrome/navidrome/issues/2130#issuecomment-1412742918
2026-01-02 20:22:03 +00:00
Deluan
a773c6de86
Fix file descriptor leaking. 2026-01-02 20:22:03 +00:00
Deluan
1b1dc70ff7
Invalidate artist cache (by changing cache key format) 2026-01-02 20:22:03 +00:00
Deluan
264df21d9b
Return 404 when artwork is not available in /share/img endpoint 2026-01-02 20:22:03 +00:00
Deluan
dfe758eefd
Don't wake CacheWarmer every 10 seconds, let it sleep :) 2026-01-02 20:21:57 +00:00
Deluan
6d02c1fc2b
Fix timer going awry 2026-01-02 20:21:19 +00:00
Deluan
de0ec25d2c
Fix resized image cache key 2026-01-02 20:21:18 +00:00
Deluan
28fa096166
Implement better artwork cache keys 2026-01-02 20:21:18 +00:00
Kendall Garner
3242ae96b7
Get album info (when available) from Last.fm, add getAlbumInfo endpoint (#2061)
* lastfm album.getInfo, getAlbuminfo(2) endpoints

* ... for description and reduce not found log level

* address first comments

* return all images

* Update migration timestamp

* Handle a few edge cases

* Add CoverArtPriority option to retrieve albumart from external sources

* Make agents methods more descriptive

* Use Last.fm name consistently

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:21:18 +00:00
Deluan
6d4ff8c7e5
Some refactor, log message changes 2026-01-02 20:21:18 +00:00
Deluan
c215f93868
Move artwork id encoding to public package 2026-01-02 20:21:18 +00:00
Deluan
1761c61ad9
Fix artist folder detection. Now works when the artist has only one album. 2026-01-02 20:21:17 +00:00
Deluan
6052243ff1
Optimize playlist cover generation 2026-01-02 20:21:17 +00:00
Deluan
c2bec4622c
Use a custom artist image cache key.
Invalidate when `Agents` config changes. This should solve https://github.com/navidrome/navidrome/issues/1601#issuecomment-1241702797
2026-01-02 20:21:17 +00:00
Deluan
7e90ea2a87
More descriptive error when artist.jpg not found 2026-01-02 20:21:16 +00:00
Deluan
f0b8274f83
PreCache artist images 2026-01-02 20:21:16 +00:00
Deluan
25d61c0456
Find artist.* image in Artist folder 2026-01-02 20:21:16 +00:00
Deluan
d4cc09f06c
Remove size from public image ID JWT 2026-01-02 20:21:16 +00:00
Deluan
9e87f552aa
Always access artist images through Navidrome (proxy calls to external URLs) 2026-01-02 20:21:16 +00:00
Deluan
d1cf8e9b71
Artwork reader for Artist 2026-01-02 20:21:16 +00:00
Deluan
aa5979c7ea
Add local agent, only for images 2026-01-02 20:21:16 +00:00
Deluan
21bc2a97d3
Don't refresh smart playlists when generating covers 2026-01-02 20:20:20 +00:00
Deluan
7cba5d1a8f
When trying to PreCache, wait for ImageCache to be available 2026-01-02 20:20:20 +00:00
Deluan
0f0cfe45c5
Reduce retention in CacheWarmer 2026-01-02 20:20:20 +00:00
Deluan
35ca63143f
Handle "naked" CoverArtIDs (IDs of album, mediafiles and playlists) 2026-01-02 20:20:20 +00:00
Deluan
096ea99dc2
Better error handling 2026-01-02 20:20:20 +00:00
Deluan
131707b7f3
GetCoverArt generates a tiled (2x2) image for playlists 2026-01-02 20:20:20 +00:00
Deluan
6380023483
Parse correctly playlist CoverArt ids 2026-01-02 20:20:20 +00:00
Deluan
a65990f657
Fix tests and clean up code a bit 2026-01-02 20:20:20 +00:00
Deluan
2fa35ee0da
Rename DevFastAccessCoverArt to EnableMediaFileCoverArt 2026-01-02 20:20:20 +00:00
Deluan
9cd883acd6
Fix artwork caching 2026-01-02 20:20:19 +00:00
Deluan
b398921d76
Created dedicated artwork readers 2026-01-02 20:20:19 +00:00
Deluan
881370001a
Move artwork handling to its own package 2026-01-02 20:20:19 +00:00