112 Commits

Author SHA1 Message Date
Deluan
17d99017e7
Add function number.RandomInt64 2026-01-02 20:21:16 +00:00
Deluan
7e7efed112
Rename WeightedChooser's method Put to Add, a better name 2026-01-02 20:21:15 +00:00
Deluan
4bd0f4400e
Use custom sanitize package, fix #2070 2026-01-02 20:20:21 +00:00
Deluan
7cba5d1a8f
When trying to PreCache, wait for ImageCache to be available 2026-01-02 20:20:20 +00:00
Deluan
35ca63143f
Handle "naked" CoverArtIDs (IDs of album, mediafiles and playlists) 2026-01-02 20:20:20 +00:00
Deluan
9a5f46fc33
Remove empty (invalid) entries from the cache 2026-01-02 20:20:19 +00:00
Deluan
a2ae31d33b
Make tests compatible with GoLang 1.18 2026-01-02 20:20:19 +00:00
Deluan
79be042b7f
Add new Artwork Cache Warmer 2026-01-02 20:20:19 +00:00
Deluan
189ff97809
Refactor file type functions 2026-01-02 20:20:19 +00:00
Deluan
0bb3dc0114
Make sure album is updated if external cover changes 2026-01-02 20:20:19 +00:00
Deluan
518ac280c4
Cache original images 2026-01-02 20:20:19 +00:00
Deluan
9cf05a6b60
Moved logic of collapsing songs into albums to model package
(it should really be called domain.... maybe will rename it later)
2026-01-02 20:20:17 +00:00
Deluan
542496b2f3
Replace MinInt/MaxInt with generic versions 2026-01-02 20:20:17 +00:00
Deluan
e0bfb22007
Rename log.LevelCritical to log.LevelFatal 2026-01-02 20:20:16 +00:00
Deluan Quintão
e17976d454
Don't cache transcoded files if the request was cancelled (#2041)
* Don't cache transcoded files if the request was cancelled (or there was a transcoding error)

* Add context to logs

* Simplify Wait error handling

* Fix flaky test

* Change log level for "populating cache" error message

* Small cleanups
2026-01-02 20:19:53 +00:00
Deluan
5fef41681b
Some cleanup, fixes typos and grammar errors 2026-01-02 20:19:52 +00:00
Deluan
294eadf19e
Remove math/rand and only use crypto/rand 2026-01-02 20:17:21 +00:00
Deluan
9762803326
Reduce number of goroutines in test, to avoid hitting the hard limit of 8128 2026-01-02 20:17:21 +00:00
Deluan
39b5f2ca28
Use custom atomic.Bool, as it is not supported in Go 1.18 2026-01-02 20:17:21 +00:00
Deluan
f729efebbc
Add nilerr linter 2026-01-02 20:15:58 +00:00
Deluan
8c94a3eef5
Fix formatting 2026-01-02 20:14:54 +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
0245339376
Update @djherbis's packages 2026-01-02 20:14:17 +00:00
Deluan
c4eadb212c
Add missing test case for #1778 2026-01-02 20:13:57 +00:00
Deluan
397f2ba8f8
Fix fscache key mapping. Closes #1778 2026-01-02 20:13:57 +00:00
Deluan
f1fcbe82ab
Ignores invalid timestamps in requests (use current time)
Fix this issue: https://www.reddit.com/r/navidrome/comments/ql3imf/scrobbling_fails_when_using_substreamer/
2026-01-02 20:09:03 +00:00
Deluan
92175a3b2f
Remove temp folders after tests 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
216e51acae
Tweak SimilarSongs algorithm to prioritize the requested main artist 2026-01-02 20:09:00 +00:00
Deluan
7eaf3ebb63
Import smart playlists (extension .nsp) 2026-01-02 20:08:59 +00:00
Deluan
015628ca7f
Bump github.com/djherbis/atime to v1.1.0 2026-01-02 20:08:55 +00:00
Deluan
f9cfc4c63b
Fix "too many SQL variables" error in GetStarred endpoint 2026-01-02 20:06:10 +00:00
Deluan
325ad01aba
Removed unused function 2026-01-02 20:06:10 +00:00
Deluan
e63769051f
Remove dependency of deprecated ioutil package 2026-01-02 20:06:10 +00:00
Deluan
5989a3d4fb
Use fs.FS in MergeFS implementation 2026-01-02 20:06:09 +00:00
Deluan
52510a55c4
Add genre tables, read multiple-genres from tags 2026-01-02 20:06:08 +00:00
Deluan
5142a842f4
Fix small lint errors found by gocritic 2026-01-02 20:06:07 +00:00
Deluan
f0d5ed2104
Remove old feature flag for cache layout 2026-01-02 20:05:07 +00:00
Deluan
b199ce5ee7
Fixed the enduring nasty "too many files open" bug!! Fix #446 2026-01-02 20:05:07 +00:00
Deluan
5db24ff145
Send NowPlaying and Scrobbles to Last.fm 2026-01-02 20:05:04 +00:00
Deluan
1eafd2a2c5
Add concurrency test for singleton 2026-01-02 20:04:23 +00:00
Deluan
7b4b6f8130
New implementation of NowPlaying 2026-01-02 20:04:23 +00:00
Deluan Quintão
5590fa3550
Encrypt passwords in DB (#1187)
* Encode/Encrypt passwords in DB

* Only decrypts passwords if it is necessary

* Add tests for encryption functions
2026-01-02 20:04:16 +00:00
Deluan
df6f611377
Refactored agents calling into its own struct 2026-01-02 19:32:16 +00:00
Deluan
05b91cae0d
Move all Spotify and LastFM code into only one folder for each 2026-01-02 19:31:53 +00:00
Steve Richter
be266c1313
Parse ParamBool case-insensitively (#1151) 2026-01-02 19:31:52 +00:00
Deluan
82be448d37
GetCoverArt returns placeholder if id is missing
This mimics Subsonic behaviour, even if it contradicts the API documentation, which states `id` is required

Fixes #1139
2026-01-02 19:31:52 +00:00
Deluan
8b6e29e9c2
Add tests for WeightedRandomChooser 2026-01-02 19:31:51 +00:00
Deluan
4bbd2a720c
Better SimilarSongs algorithm 2026-01-02 19:31:51 +00:00