469 Commits

Author SHA1 Message Date
Deluan
69b5d70040
Discard request for image canceled by the client before any further processing 2026-01-02 20:22:23 +00:00
Deluan
2d761b326f
Add throttling to /share/img endpoint.
See: https://github.com/navidrome/navidrome/issues/2130#issuecomment-1414152343
2026-01-02 20:22:23 +00:00
Deluan
ad12edc79c
Update golangci-lint and fix lint errors 2026-01-02 20:22:21 +00:00
Deluan
264df21d9b
Return 404 when artwork is not available in /share/img endpoint 2026-01-02 20:22:03 +00:00
Deluan
b852091870
Add option to change max playlists shown in UI's sidebar, MaxSidebarPlaylists. Fix #2077 2026-01-02 20:22:03 +00:00
Deluan
7b6f877ed8
Rename DevEnableShare to EnableSharing 2026-01-02 20:22:02 +00:00
Deluan
fb3c90b375
Disable creation of shares when feature is disabled.
Fix https://github.com/navidrome/navidrome/pull/2106#issuecomment-1404731388
2026-01-02 20:22:01 +00:00
Deluan
1d8853659a
Disable external links when EnableExternalServices is false. Fix #2022 2026-01-02 20:22:01 +00:00
selfhoster1312
ee9212357e
Create accounts automatically when authenticating from HTTP header (#2087)
* Create accounts automatically when authenticating from HTTP header

* Disable password check when header auth is enabled

* Formatting

* Password change is valid when no password (old or new) is provided

* Test suite runs with header auth disabled (mock config)
Prevents nil pointer access (panic) while testing password validating logic

* Use a constant prefix for autogenerated passwords (header auth case)

* Add tests

* Add context to log messages

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:22:01 +00:00
Deluan
a929c752b2
Disable Subsonic Share endpoints if feature is disabled 2026-01-02 20:22:01 +00:00
Deluan
2416a06b04
Add meta tags to show cover and share description in social platforms 2026-01-02 20:22:00 +00:00
Deluan
c7b5e10e77
Mark Share.LastVisited optional in Subsonic API 2026-01-02 20:22:00 +00:00
Deluan
722e3eaedd
Add Share capability to Subsonic user's info 2026-01-02 20:22:00 +00:00
Deluan
bbd3192fd3
Fix getShares sort order 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
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
63640ec8ff
Don't expose empty dates in share info 2026-01-02 20:21:59 +00:00
Deluan
56b1d6811a
Use defaultDownsamplingFormat in share options 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
3c57687a9d
Add config option to show album participations under artists in Subsonic clients 2026-01-02 20:21:55 +00:00
Deluan
6969168ca8
Increase timeout for obtaining login background image list 2026-01-02 20:21:19 +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
Kendall Garner
2fb60b92ca
ReplayGain support + audio normalization (web player) (#1988)
* ReplayGain support

- extract ReplayGain tags from files, expose via native api
- use metadata to normalize audio in web player

* make pre-push happy

* remove unnecessary prints

* remove another unnecessary print

* add tooltips, see metadata

* address comments, use settings instead

* remove console.log

* use better language for gain modes
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
4bbfa17bdf
Sort radio stations by name 2026-01-02 20:21:17 +00:00
Deluan
bbf0677ff5
Fix Subsonic XML Internet Radio response 2026-01-02 20:21:17 +00:00
Kendall Garner
2cab4a4352
Add Internet Radio support (#2063)
* add internet radio support

* Add dynamic sidebar icon to Radios

* Fix typos

* Make URL suffix consistent

* Fix typo

* address feedback

* Don't need to preload when playing Internet Radios

* Reorder migration, or else it won't be applied

* Make Radio list view responsive

Also added filter by name, removed RadioActions and RadioContextMenu, and added a default radio icon, in case of favicon is not available.

* Simplify StreamField usage

* fix button, hide progress on mobile

* use js styles over index.css

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:21:17 +00:00
Deluan
33b3f373f4
Allow any HTTP methods for public images endpoint. Fix artist covers in Subtracks 2026-01-02 20:21:17 +00:00
Deluan
6052243ff1
Optimize playlist cover generation 2026-01-02 20:21:17 +00:00
Deluan
0642449ce8
New dev options to control getCoverArt throttling 2026-01-02 20:21:17 +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
373d139fe2
Add public endpoint to expose images 2026-01-02 20:21:16 +00:00
Deluan
17d99017e7
Add function number.RandomInt64 2026-01-02 20:21:16 +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
899bfaca67
Add coverArt to Subsonic playlist response 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
35ca63143f
Handle "naked" CoverArtIDs (IDs of album, mediafiles and playlists) 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
881370001a
Move artwork handling to its own package 2026-01-02 20:20:19 +00:00
Deluan
10865927c4
Fix DevFastAccessCoverArt flag 2026-01-02 20:20:18 +00:00