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
1ca8693a29
Add trace logs to calls to external services
2026-01-02 20:22:02 +00:00
Deluan
832bb02a6a
Add a comment to the generated zip
2026-01-02 20:22:02 +00:00
Deluan
a8b48fcfd6
Refactor zip archiver.
...
Add `disc` to path when downloading albums. Fix #2121
2026-01-02 20:22:02 +00:00
Aleksey Lobanov
a808c0f868
Base SQL metrics in MetricsWorker ( #2002 )
...
* feat: Add metrics worker
* refactor: Add todos for useful for metrics methods
* feat: Run MetricsWorker is Prometheus is Enabled
* refactor: Unused low-level variable was removed in metrics
* feat: No worker for metrics, add more
* refactor: Unnecessary todo removed
* refactor: Remove dead unused constant
* Reduce metrics public interface
Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:22:01 +00:00
Deluan
4f99addd02
Add Share to Context menus, also share artist
2026-01-02 20:22:00 +00:00
Deluan
24fa622d05
Create contents label for group of shared mediafiles
2026-01-02 20:22:00 +00:00
Deluan
28f435f8a9
Enable sharing only selected songs with the Subsonic API
2026-01-02 20:22:00 +00:00
Deluan
bfa35c11b8
Fix empty entry collection in Shares
2026-01-02 20:21:59 +00:00
Deluan
0140bf268c
Implement updateShare and deleteShare Subsonic endpoints
2026-01-02 20:21:59 +00:00
Deluan
a53e622cb4
Handle expired shares
2026-01-02 20:21:59 +00:00
Deluan
041f91ad53
Add getShares and createShare Subsonic endpoints
2026-01-02 20:21:59 +00:00
Deluan
5916024859
Fix tests and lint errors, plus a bit of refactor
2026-01-02 20:21:59 +00:00
Deluan
4bb4576785
Share playlists
2026-01-02 20:21:59 +00:00
Deluan
4d085249ab
Add share's contents and description to the DB
2026-01-02 20:21:58 +00:00
Deluan
b2aac87d1d
More work on Shares
2026-01-02 20:21:58 +00:00
Deluan
04abdf4509
Initial work on Shares
2026-01-02 20:21:58 +00:00
Deluan
eb0d9d69f4
Make private methods unpublished
2026-01-02 20:21:57 +00:00
Deluan
dfe758eefd
Don't wake CacheWarmer every 10 seconds, let it sleep :)
2026-01-02 20:21:57 +00:00
Deluan
7970863a81
Don't try to downsample if requested bitrate is equal or greater than original. Fix #2066
2026-01-02 20:21:19 +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
6c2562210b
Remove "Biography not available" when agents are not available
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
7d9de23f6c
Add local TopSongs
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
373d139fe2
Add public endpoint to expose images
2026-01-02 20:21:16 +00:00
Deluan
7e7efed112
Rename WeightedChooser's method Put to Add, a better name
2026-01-02 20:21:15 +00:00
Deluan
4bd0f4400e
Use custom sanitize package, fix #2070
2026-01-02 20:20:21 +00:00
Deluan
21bc2a97d3
Don't refresh smart playlists when generating covers
2026-01-02 20:20:20 +00:00
Deluan
e850665ebc
Serve artist placeholder directly, instead of using LastFM's CDN
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