505 Commits

Author SHA1 Message Date
Deluan
57da35aaaa
Make SmartPlaylists to always be seen as changed for Subsonic clients. 2026-01-02 20:27:26 +00:00
Deluan Quintão
c6e1a78007
Add initial support for OpenSubsonic. (#2302) 2026-01-02 20:25:45 +00:00
Deluan
888d120e12
Fix getSongsByGenre pagination. Fix #1640 2026-01-02 20:25:45 +00:00
Deluan
c816a012b0
Remove any previous UNIX socket file 2026-01-02 20:25:44 +00:00
Deluan
ffb50f50f7
Increase max Server-Sent Events' ID 2026-01-02 20:25:44 +00:00
Deluan
a3f45724a9
Fix lint error 2026-01-02 20:25:44 +00:00
Deluan
a75d8e0c6b
Use channels for EventStream instead of diodes 2026-01-02 20:25:44 +00:00
Deluan
f5eeb03608
Close SSE connection on write error 2026-01-02 20:25:44 +00:00
Deluan
06b9349897
Convert our usage of go-diodes into a simplified, generic version 2026-01-02 20:25:43 +00:00
Deluan
0688ce0d5d
Fix writeEvents race condition.
This required removing the compress middleware from the /events route.
2026-01-02 20:25:43 +00:00
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