495 Commits

Author SHA1 Message Date
Deluan
2a7c4309a6
Fix race condition 2026-01-02 20:25:43 +00:00
Deluan
4fed55147f
Fix flaky tests 2026-01-02 20:25:33 +00:00
Deluan
58a9ccf00b
Add support for listening on Unix socket.
For that to work, specify the config option `Address` with `unix:/path/to/socket/file`.

Closes #1477
2026-01-02 20:25:33 +00:00
Deluan
b92039b07e
Fix race condition 2026-01-02 20:25:33 +00:00
Deluan
04a42106a5
Fix writeEvent function.
It would not send anything if the `ResponseWriter` was not a `http.Flusher`, and it was leaking channels with `time.After`
2026-01-02 20:25:33 +00:00
Deluan
b8a7e435e0
More tests 2026-01-02 20:25:33 +00:00
Deluan
b6dfcae247
Some refactorings 2026-01-02 20:25:19 +00:00
Deluan
fc306ae436
Add more middleware tests 2026-01-02 20:25:19 +00:00
Deluan
4ba065ec07
Add tests for serverAddressMiddleware 2026-01-02 20:25:18 +00:00
Deluan
27773f8ab7
Add option to load TLS cert/key, and use HTTPS 2026-01-02 20:24:48 +00:00
Deluan
2daf3078e5
Disable share downloading when EnableDownloads is false.
Fixes https://github.com/navidrome/navidrome/pull/2246#issuecomment-1472341635
2026-01-02 20:24:48 +00:00
Deluan Quintão
03cf74556c
Convert all Subsonic API ints to int32 as per specification (#2252)
* Fix Genre

* Fix ArtistID3

* Fix AlbumID3

* Fix Child

* Fix NowPlayingEntry

* Fix Playlist

* Fix Share

* Fix User

* Fix Artist

* Fix Directory

* Fix Error
2026-01-02 20:24:47 +00:00
Deluan
8b65b08369
Add download button in the SharePlayer 2026-01-02 20:24:47 +00:00
Deluan
7a5f3f419e
Add option to allow share to be downloaded 2026-01-02 20:24:47 +00:00
Deluan
8926b37b69
Add share download endpoint 2026-01-02 20:24:47 +00:00
Deluan
f911bdb1b4
Allow BaseURL to contain full server url, including scheme and host. Fix #2183 2026-01-02 20:23:40 +00:00
Deluan
c8b8f82dd4
Add path to cookies. Fix #1580 2026-01-02 20:23:40 +00:00
Deluan
a22fe875a7
Refactor play tracking 2026-01-02 20:23:39 +00:00
Deluan
7ee64b12be
Use Navidrome's own public images endpoint for getAlbumInfo's imageURLs 2026-01-02 20:22:41 +00:00
Deluan
a18b077c83
Add lastUpdated to coverArt ids. Helps with invalidating art cache client-side. 2026-01-02 20:22:41 +00:00
Deluan
6013e30f7b
Make ffmpeg path configurable, also finds it automatically in current folder. Fixes #1932 2026-01-02 20:22:41 +00:00
Deluan
fdc0c8db2a
Close stream when downloading files, fix fd leak 2026-01-02 20:22:41 +00:00
Deluan
0e27a4c18b
Refactor Subsonic search to make it a bit more readable 2026-01-02 20:22:24 +00:00
Deluan
ba72a29f1d
Change throttling log messages 2026-01-02 20:22:23 +00:00
Deluan
06bb75e193
Better log message 2026-01-02 20:22:23 +00:00
Deluan
5390670cc3
Add dev option to increase external metadata cache expiration. More logs 2026-01-02 20:22:23 +00:00
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