Deluan
05521781a8
fix(server): encrypt jwt secret at rest
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:57 +00:00
Deluan
75263e5b8f
refactor: reduce GC pressure by pre-allocating slices
...
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:56 +00:00
Deluan Quintão
202b64ce9e
feat: cache login background images ( #3462 )
...
* feat: use direct links to unsplash for background images
Signed-off-by: Deluan <deluan@navidrome.org>
* feat: cache images from unsplash
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor: use cache.HTTPClient to reduce complexity
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor: remove magic numbers
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2026-01-02 20:41:22 +00:00
Deluan Quintão
e4c12c8739
refactor: small improvements and clean up ( #3423 )
...
* refactor: replace custom map functions with slice.Map
* refactor: extract StringerValue function
* refactor: removed unnecessary if
* chore: removed invalid comment
* refactor: replace more map functions
* chore: fix FFmpeg typo
2026-01-02 20:41:04 +00:00
Deluan Quintão
f3f66da3da
refactor(server): replace RangeByChunks with Go 1.23 iterators ( #3292 )
...
* refactor(server): replace RangeByChunks with Go 1.23 iterators
* chore: fix comments re: SQLITE_MAX_VARIABLE_NUMBER
* test: improve playqueue test
* refactor(server): don't create a new iterator when it is not required
2026-01-02 20:39:44 +00:00
Deluan
2664808fa6
fix(subsonic): random albums not reshuffling.
...
See: https://github.com/navidrome/navidrome/issues/3277#issuecomment-2364269787
2026-01-02 20:39:43 +00:00
Deluan
be25753d37
fix(scanner): improve M3U playlist import times ( #2706 )
2026-01-02 20:39:42 +00:00
Deluan
5365695413
Allow searching songs by filepath, for songs without Title
2026-01-02 20:39:41 +00:00
Deluan
e87cb6df1e
Remove potential integer overflow conversion uint64 -> int64
2026-01-02 20:39:13 +00:00
Deluan Quintão
819d0afd03
Upgrade Go to 1.23 ( #3190 )
...
* Upgrade to Golang 1.23rc1
* Fix imports
* Go 1.23 final version
* Fix lint compatibility with ci-goreleaser
2026-01-02 20:38:44 +00:00
Deluan
ad91d7d9cb
Use SHA256 in Gravatar URLs
2026-01-02 20:37:17 +00:00
Deluan
7ffbaeea73
Fix race condition
2026-01-02 20:37:17 +00:00
Deluan
89138e75f4
Evict expired items from SimpleCache
2026-01-02 20:37:15 +00:00
Deluan
843d48f448
Upgrade to ttlcache/v3
2026-01-02 20:37:15 +00:00
Deluan
d2a178e11d
Also use SimpleCache in cache.HTTPClient
2026-01-02 20:37:15 +00:00
Deluan
10ab9cfb55
Wrap ttlcache in our own SimpleCache implementation
2026-01-02 20:37:15 +00:00
Deluan
08d1e3a50c
More micro-optimizations
2026-01-02 20:36:59 +00:00
Deluan
04bfa0ea72
Initialize Index Groups regex just once
2026-01-02 20:36:59 +00:00
Deluan
c48d3b3526
Replace gg.If with cmp.Or
2026-01-02 20:36:59 +00:00
Deluan
f6552d9e36
Small refactoring
2026-01-02 20:36:59 +00:00
Deluan
38a219648d
Refactor string utilities into its own package str
2026-01-02 20:36:59 +00:00
Deluan
30671bf0dc
Fix tests expectations
2026-01-02 20:36:59 +00:00
Deluan
c98da13299
Fix G404 gosec lint error
2026-01-02 20:36:58 +00:00
Deluan
e39efece28
Fix 32 bits builds
2026-01-02 20:36:58 +00:00
Deluan
acb7468fdb
Make first WebUI random page stick
2026-01-02 20:36:58 +00:00
Deluan
f238669779
Add missing Test function
2026-01-02 20:36:58 +00:00
Guilherme Souza
c9a39d9986
Deterministic pagination in random albums sort ( #1841 )
...
* Deterministic pagination in random albums sort
* Reseed on first random page
* Add unit tests
* Use rand in Subsonic API
* Use different seeds per user on SEEDEDRAND() SQLite3 function
* Small refactor
* Fix id mismatch
* Add seeded random to media_file (subsonic endpoint `getRandomSongs`)
* Refactor
* Remove unneeded import
---------
Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:36:58 +00:00
Deluan
880af2efe1
Refactor random.WeightedChooser, unsing generics
2026-01-02 20:36:57 +00:00
Deluan
7057bd104d
Refactor to use more Go 1.22 features
2026-01-02 20:36:56 +00:00
Deluan
f22aeee58f
Remove duplicated test
2026-01-02 20:36:56 +00:00
Deluan
5d8b10635e
Simplify random.Int64 usage with generics
2026-01-02 20:36:56 +00:00
Deluan
af627aa18e
Refactor random functions
2026-01-02 20:36:56 +00:00
Deluan
2b13262b25
Uses Unix milliseconds support from standard Go lib
2026-01-02 20:36:56 +00:00
Deluan
56964b676d
Refactor cache.HTTPClient
2026-01-02 20:36:56 +00:00
Deluan
d6d65b43ae
Refactor merge.FS
2026-01-02 20:36:56 +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
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
d642d6f60f
Move TempFileName to utils
2026-01-02 20:33:14 +00:00
Deluan
bb0c49e8ba
Use Go builtin min/max func
2026-01-02 20:33:14 +00:00
Deluan
d7b7626488
Bump github.com/jellydator/ttlcache/v2 to v2.11.1
2026-01-02 20:33:14 +00:00
Caio Cotts
b57ba9e232
Fix null values in DB ( #2840 )
...
* Fix album image_files being null.
* Fix small nitpick.
* Use ExecContext instead of Exec.
* Change more columns to not null and set default values.
* Remove columns that don't need to be changed from migration.
* Fix typo.
* Remove unnecessary select statements.
* Remove duplicate code.
* Do not apply changes to radio table.
* Do not apply changes full_text columns and respective indexes.
* Fix musicbrainz columns.
* Rename migration.
* Make ExternalInfoUpdatedAt nullable
* Make Share's timestamps nullable
---------
Co-authored-by: Deluan Quintão <deluan@navidrome.org>
2026-01-02 20:32:59 +00:00
Deluan
f200b48723
Small readability improvement in MergeFS tests
2026-01-02 20:32:58 +00:00
Deluan
1e7fafdf4f
Make the GetInstance concurrent test more readable
2026-01-02 20:32:37 +00:00
Deluan
3e9890184b
Optimize Singleton (sometimes a simple lock is a better solution)
2026-01-02 20:32:37 +00:00
Deluan
a3ce0e9454
Add todo as a reminder to replace min/max in Go 1.22
2026-01-02 20:32:36 +00:00
Deluan
81bf9d23e4
Replace all utils.Param* with req.Params
2026-01-02 20:32:36 +00:00
Deluan
b932d0cbf1
Add req.Params to replace utils.Param*
2026-01-02 20:32:36 +00:00
Deluan
ae2f64a422
Removed unused diodes package
2026-01-02 20:32:12 +00:00
Deluan
b2863cceb9
Fix FileHaunter tests
2026-01-02 20:31:56 +00:00
Deluan
14031f96e1
Fix FileHaunter tests
2026-01-02 20:31:56 +00:00