3699 Commits

Author SHA1 Message Date
Deluan
caa2126677
Read sampleRate from audio files 2026-01-02 20:36:56 +00:00
Deluan
d68cdac3d2
Do not panic if when updatePlaylist is called with a non-existent ID.
Fix #2876
2026-01-02 20:36:55 +00:00
edthu
8941ae980a
Add Catppuccin Macchiato Theme (#3014)
* Added Catppuccin Macchiato theme

* fixed index.js formatting
2026-01-02 20:36:55 +00:00
Deluan
67b997f772
Bump actions/github-script to v7 2026-01-02 20:36:55 +00:00
Deluan
0f713e20af
Bump actions/stale and dessant/lock-threads versions 2026-01-02 20:36:55 +00:00
Deluan
14a379e16c
Replace sync.WaitGroup with more appropriate errgroup.Group 2026-01-02 20:36:55 +00:00
Deluan
519c8f465b
Fix M3U mimetype on Debian Bullseye 2026-01-02 20:36:55 +00:00
Deluan
453e1371b6
Update Go to 1.22.3 2026-01-02 20:36:55 +00:00
Valeri Sokolov
faa684fb95
fix: languageName for Persian (#3011)
"انگلیسی" is "English"
2026-01-02 20:36:55 +00:00
Deluan
df22d69765
Simplify normalized AlbumPlayCountMode calc 2026-01-02 20:36:55 +00:00
Deluan
a6ac8df301
Remove unused code 2026-01-02 20:36:55 +00:00
Deluan
5be6dfc54b
Clean up runNavidrome function 2026-01-02 20:36:55 +00:00
Deluan Quintão
9e9f72ae8a
Make sorting lists by name/title case-insensitive (#2993)
* Make sort by order_* fields case-insensitive.

* Sort internet radios by name case-insensitive
2026-01-02 20:36:55 +00:00
Deluan Quintão
9ff3145845
Terminate all MPV instances when stopping Navidrome (#3008)
* Terminate all mpv instances when stopping Navidrome

* Exit trackSwitcher goroutine when terminating

* Remove potential race condition when starting the Playback device

* Fix lint error

* Removed unused and unneeded vars/functions

* Use device short name in log

* Small refactor

* Small nitpick

* Make start functions more uniform
2026-01-02 20:36:55 +00:00
Deluan
6640509044
Make dependency injection more consistent 2026-01-02 20:36:55 +00:00
Deluan
b20e3ae337
Fix migration package name mismatch 2026-01-02 20:36:54 +00:00
Deluan
d94e73236b
Change default transcodings to a proper typed struct 2026-01-02 20:36:54 +00:00
Deluan
7500b17eb1
Fix ambiguous column when sorting media_files by created_at.
Fix #3006
2026-01-02 20:36:54 +00:00
Deluan
ad89e02a93
Limit access to Jukebox for admins only (configurable).
Closes #2849
2026-01-02 20:36:54 +00:00
Deluan
e569f80796
Bump Go dependencies 2026-01-02 20:36:52 +00:00
Matthias Schmidt
7cd38f9742
Guard against missing active track (#2996)
Co-authored-by: Deluan Quintão <deluan@navidrome.org>
2026-01-02 20:36:35 +00:00
Matthias Schmidt
2c6216817d
Persist adjusted volume (#2997)
Co-authored-by: Deluan Quintão <deluan@navidrome.org>
2026-01-02 20:36:35 +00:00
Ludovic Fernandez
6d8557b6bb
Improves golangci-lint configuration and workflow (#3004)
* chore: the default Go version is based on the go.mod

* chore: use linter configuration instead of exclude-rules

* chore: update workflow
2026-01-02 20:36:35 +00:00
Deluan
1a2683fe75
Pin golangci-lint-action version as a workaround to fix the pipeline.
See https://github.com/golangci/golangci-lint/issues/4695
2026-01-02 20:36:35 +00:00
Deluan
96e011efc0
Fix CollapsibleComment in PlaylistDetails. Closes #2992 2026-01-02 20:36:35 +00:00
Deluan
3459141f8c
Add HTTPSecurityHeaders.CustomFrameOptionsValue option.
Requested in https://github.com/navidrome/navidrome/issues/248#issuecomment-1783768985
2026-01-02 20:36:33 +00:00
Deluan
2c638ecd3f
Fix typo 2026-01-02 20:35:33 +00:00
Kendall Garner
91ef9a71c1
Sort repeated lyrics that may be out of order (#2989)
With synchronized lyrics with repeated text, there is not a guarantee that the repeat is in order (e.g. `[00:00.00][00:10.00] a\n[00:05.00]b`).
This change will post-process lyrics with repeated timestamps in one line to ensure that it is always sorted.
2026-01-02 20:35:32 +00:00
Deluan
1159d65729
Bump Go dependencies 2026-01-02 20:35:32 +00:00
Deluan
33c96640e8
Fix PlaylistTracks's loadAllGenres. Fix #2988 2026-01-02 20:35:32 +00:00
Deluan
ad2a40a712
Fix AlbumPlayCountMode. Closes #2984 2026-01-02 20:35:32 +00:00
Deluan
044ef35d8e
Fix int types in OpenSubsonic responses.
Refer to https://support.symfonium.app/t/symfonium-sync-crashes-when-tpos-is-not-an-int/4204
2026-01-02 20:35:32 +00:00
Deluan
d19df38b3d
Fix signaler on Windows 2026-01-02 20:35:32 +00:00
Deluan
e5bdc379c6
Use signal.NotifyContext 2026-01-02 20:35:32 +00:00
Deluan
786a65aa07
Refactor loadGenres, remove duplication 2026-01-02 20:35:32 +00:00
Deluan
ad4918135d
Refactor DB Album mapping to model.Album 2026-01-02 20:35:32 +00:00
Deluan
88b7165362
Load mime_types from external file 2026-01-02 20:35:32 +00:00
Deluan
198fc5f9c9
Remove AlbumPlayCountMode from command line options 2026-01-02 20:35:32 +00:00
Deluan
e95e88950c
Add tests for AlbumPlayCountMode, change the calc to match the request from #1032 2026-01-02 20:35:32 +00:00
Deluan
054475a127
Add tests for AlbumPlayCountMode 2026-01-02 20:35:32 +00:00
vvdveen
60209152ec
Add AlbumPlayCountMode config option (#2803)
Closes #1032

* feat(album_repository.go): add kodi-style album playcount option - #1032

Signed-off-by: Victor van der Veen <vvdveen@gmail.com>

* fix format issue and remove reference to kodi (now normalized)

Signed-off-by: Victor van der Veen <vvdveen@gmail.com>

* reduced complexity but added rounding

Signed-off-by: Victor van der Veen <vvdveen@gmail.com>

* Use constants for AlbumPlayCountMode values

---------

Signed-off-by: Victor van der Veen <vvdveen@gmail.com>
Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:35:32 +00:00
crazygolem
7c196d544f
Add support for Reverse Proxy auth in Subsonic endpoints (#2558)
* feat(subsonic): Add support for Reverse Proxy auth - #2557

Signed-off-by: Jeremiah Menétrey <superjun1@gmail.com>

* Small refactoring

---------

Signed-off-by: Jeremiah Menétrey <superjun1@gmail.com>
Co-authored-by: Deluan Quintão <deluan@navidrome.org>
2026-01-02 20:35:31 +00:00
Deluan
1af9b7ae5e
Bump github.com/spf13/viper from 1.15.0 to 1.18.2 2026-01-02 20:35:30 +00:00
Deluan Quintão
0a6d76f4b0
Bump Go dependencies (#2976)
* Fix build

* Bump dependencies
2026-01-02 20:35:04 +00:00
Deluan
c1683122b9
Bump github.com/pressly/goose/v3 from 3.19.2 to 3.20.0 2026-01-02 20:35:04 +00:00
Anna Smith
82733e2d5f
Fix typo in comment (#2974) 2026-01-02 20:35:04 +00:00
Deluan
281f611c0e
Add OpenSubsonic channelCount 2026-01-02 20:35:04 +00:00
Deluan
d46740771c
Fix scrobble error spam in the logs.
Relates to #2831 and #2975
2026-01-02 20:35:04 +00:00
crazygolem
b75b09e8da
Use the RealIP middleware also behind a reverse proxy (#2858)
* Use the RealIP middleware only behind a reverse proxy

* Fix proxy ip source in tests

* Fix test for PR#2087

The PR did not update the test after changing the behavior, but the test still
passed because another condition was preventing the user from being created in
the test.

* Use RealIP even without a trusted reverse proxy

* Use own type for context key

* Fix casing to follow go's conventions

* Do not apply RealIP middleware twice

* Fix IP source in logs

The most interesting data point in the log message is the proxy's IP, but
having the client IP too can help identify integration issues.
2026-01-02 20:35:04 +00:00
Tim
3969263fbd
Handling long playlist comments (#2973)
Closes #1737

* wrapping playlist comment in a <Collapse> element

* Extract common collapsible logic into a component

---------

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:35:04 +00:00