405 Commits

Author SHA1 Message Date
Deluan
650989c871
Some cleanup, adding missing context handling 2026-01-02 20:19:52 +00:00
Deluan
70fb77ad50
Bump github.com/bradleyjkemp/cupaloy to v2.8.0 2026-01-02 20:18:17 +00:00
Deluan
c4d13acadb
Fix background images when BaseURL is specified 2026-01-02 20:17:48 +00:00
Deluan
294eadf19e
Remove math/rand and only use crypto/rand 2026-01-02 20:17:21 +00:00
Deluan
bac1a22a68
Host default login background images in Navidrome's own website 2026-01-02 20:17:21 +00:00
Deluan
7028cc05f5
Compress more http content-types.
Also, some minor refactoring
2026-01-02 20:17:20 +00:00
Deluan
4b338dcf3d
Simplify Subsonic API handler implementation 2026-01-02 20:16:00 +00:00
Deluan
34bd983ef5
Shutdown gracefully, close DB connection 2026-01-02 20:16:00 +00:00
Deluan
e90044164d
Add DefaultUIVolume option. Closes #1679 2026-01-02 20:16:00 +00:00
Deluan
2afc93bb9b
Add missing context to logger calls 2026-01-02 20:16:00 +00:00
Deluan
9f279bf32a
Fix potential nil pointer dereference 2026-01-02 20:16:00 +00:00
Deluan
c45ec227ec
Reduce spurious error/warn messages, if loglevel != debug 2026-01-02 20:16:00 +00:00
Deluan
3718ce1fe4
Add TrackNumber to "fake" generated filenames. Fixes #1912 2026-01-02 20:16:00 +00:00
Deluan
1e939448af
Add played field to Subsonic API responses. Fix #1971
This is not an "official" field in the specification, but I guess it does not hurt to expose this ;)
2026-01-02 20:15:59 +00:00
Deluan
f29fe31237
Restore DefaultLanguage case-sensitiveness by reverting commit bfeb8ef6b3e5756d72b230abdbb96f8a31b2e2f.
Language code should be case-sensitive. Fix #1946. Supersedes #1947.
2026-01-02 20:15:59 +00:00
Deluan
d66b04750b
Add errorlint linter 2026-01-02 20:15:58 +00:00
Deluan
03128f2b97
Fix error comparisons 2026-01-02 20:15:58 +00:00
Deluan
b73a134d00
Add exportloopref linter 2026-01-02 20:15:58 +00:00
Deluan
6dab8f3474
DefaultLanguage is now case-insensitive 2026-01-02 20:15:30 +00:00
Andy Klimczak
b560dad1bc
feat: Add listenbrainz base url configuration (#1774)
* feat: Add listenbrainz base url configuration

- ListenBrainz.BaseURL config value

* Don't need to store baseUrl

* Use `url.JoinPath` to concatenate url paths

* Replace url.JoinPath (Go 1.19 only) with custom function

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:15:29 +00:00
Deluan
74a62a3973
New config DefaultLanguage. Closes #1561 2026-01-02 20:15:29 +00:00
Manuel
e81048135b
fix:(middlewares.go) - Set Cookie SameSite mode to Strict - 1776 (#1777)
* None is deprecated and will fallback to Lax in the future.
* Using Strict is future proof and provides additional CSR protection

Signed-off-by: Manuel Kroeber <manuel.kroeber@gmail.com>

Signed-off-by: Manuel Kroeber <manuel.kroeber@gmail.com>
2026-01-02 20:15:29 +00:00
Kendall Garner
822c364645
Fix creating server (#1894) 2026-01-02 20:15:29 +00:00
Deluan
f72d8d148b
Fix GO-S2114 security issue
See https://deepsource.io/directory/analyzers/go/issues/GO-S2114
2026-01-02 20:14:54 +00:00
Deluan
e6ba5a2229
Only compute version once 2026-01-02 20:14:54 +00:00
Deluan
2ae0520108
Remove //+build tags, as the code does not compile on older versions of Go anymore 2026-01-02 20:14:54 +00:00
Deluan
e0ac640d4e
Add more info in search log message 2026-01-02 20:14:22 +00:00
Deluan
dac39d1d4f
Add log warn when request is cancelled/interrupted 2026-01-02 20:14:22 +00:00
Deluan
f2b02d042b
Speed up /search subsonic endpoints by parallelizing the queries 2026-01-02 20:14:22 +00:00
Deluan
4bfceb3710
Simplify Singleton usage by leveraging Go 1.18's generics 2026-01-02 20:14:22 +00:00
Deluan
90bc1981d8
Upgrade Ginkgo to V2 2026-01-02 20:14:21 +00:00
Deluan
6a3318ee78
Return 501 for "not implemented". Fixes #1785 2026-01-02 20:13:58 +00:00
Deluan
96b105e62b
Add IP to Subsonic API's invalid login log messages. Closes #1814 2026-01-02 20:13:57 +00:00
Deluan
e1c6fcc750
Upgrade golangci-lint and fix new lint error 2026-01-02 20:13:54 +00:00
Deluan
913d75b9f2
Fix loading overridden translations from ${DataFolder}/resources/i18n 2026-01-02 20:11:58 +00:00
Deluan
dd117130ff
Fix playCount casing 2026-01-02 20:11:57 +00:00
Deluan
7be85ed032
Better logging for agents configuration 2026-01-02 20:11:57 +00:00
Deluan
f11ea0c7ce
Add userRating to Subsonic Album/Artist responses. Closes #1486 2026-01-02 20:11:39 +00:00
Brice Johnson
0bec8f35c4
Allowing 3rd party UIs to access x-total-count http header (#1470)
* Adding 'x-content-duratin' and 'x-total-count' to CORS exposed headers

* Moving cors setup to middlewares.go

* adding x-nd-authorization to exposed headers
2026-01-02 20:11:39 +00:00
Steve Richter
babc48c29d
Rename ListenBrainz config flag and enable by default (#1443) 2026-01-02 20:11:36 +00:00
Deluan
7cc3c4bbf7
Show in the logs how long it took to startup 2026-01-02 20:09:31 +00:00
Deluan
f6a7b501ba
Fix error codes for required parameters in getAlbumList 2026-01-02 20:09:30 +00:00
Deluan
2b15f4a4ba
Optimize AlbumRepository.GetAll and add a GetAllWithoutGenres method specifically for Subsonic API, where multiple-genres are not required 2026-01-02 20:09:30 +00:00
Deluan
f73c80ffb7
Make song/album/artist endpoints read-only 2026-01-02 20:09:03 +00:00
Deluan
23fa956d6b
Add owner_id to playlist 2026-01-02 20:09:02 +00:00
Steve Richter
310ce67c2e
Listenbrainz scrobbling (#1424)
* Refactor session_keys to its own package

* Adjust play_tracker

- Don't send external NowPlaying/Scrobble for tracks with unknown artist
- Continue to the next agent on error

* Implement ListenBrainz Agent and Auth Router

* Implement frontend for ListenBrainz linking

* Update listenBrainzRequest

- Don't marshal Player to json
- Rename Track to Title

* Return ErrRetryLater on ListenBrainz server errors

* Add tests for listenBrainzAgent

* Add tests for ListenBrainz Client

* Adjust ListenBrainzTokenDialog to handle errors better

* Refactor listenbrainz.formatListen and listenBrainzRequest structs

* Refactor agent auth_routers

* Refactor session_keys to agents package

* Add test for listenBrainzResponse

* Add tests for ListenBrainz auth_router

* Update ListenBrainzTokenDialog and auth_router

* Adjust player scrobble toggle
2026-01-02 20:09:02 +00:00
Deluan
d09d874dbb
Simplify resources code, enabling any resource to be overridden (not just translations) 2026-01-02 20:09:01 +00:00
Deluan
3c29a7adb4
Fix translations on Windows 2026-01-02 20:09:01 +00:00
Deluan
bb29e2bdd6
Fix double escaped lyrics and comments 2026-01-02 20:09:01 +00:00
Deluan
83380f2de2
Fix/Optimized Playlist tracks deletion 2026-01-02 20:09:01 +00:00