Deluan
7b76df6033
Re-apply "Refactor walkDirTree to use fs.FS" but remove context cancelation logic.
...
This reverts commit 6b3b4d83ffcf273b01985709c8bc5df12bbb8286.
2026-01-02 20:27:26 +00:00
Deluan
cfc21050f7
Revert "Refactor walkDirTree to use fs.FS"
...
This reverts commit 3853c3318f67b41a9e4cb768618315ff77846fdb.
2026-01-02 20:27:26 +00:00
Deluan
7222a14f77
Refactor walkDirTree to use fs.FS
2026-01-02 20:27:26 +00:00
tomleb
c8fd9190e1
Allow configuring cache folder ( #2357 )
...
* Set all clients to dev_download for make get-music
* Use multiple TranscodingCache instances in tests
This fixes flaky tests. The issue is that the TranscodingCache object
was being reused in tests from media_stream_Internal_test.go and
media_stream_test.go. If tests from the former was run first, the cache
would be filled up, so that when running tests from the latter, the `NON
seekable` test would fail.
* Allow configuring cache folder
This commit introduces a new configuration option to configure the cache
folder. This allows the cache to be in a separate folder such as
/var/cache/navidrome on Linux distributions.
* Fix tests
* Removed unused test setup code
---------
Co-authored-by: Deluan <deluan@deluan.com>
Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:27:26 +00:00
Deluan
edb75f268f
Move string slice functions to slice package as generic functions
2026-01-02 20:27:26 +00:00
Deluan
d4dbe3a724
Fix IntelliJ warning
2026-01-02 20:25:45 +00:00
Deluan
06b9349897
Convert our usage of go-diodes into a simplified, generic version
2026-01-02 20:25:43 +00:00
Deluan
b6dfcae247
Some refactorings
2026-01-02 20:25:19 +00:00
Deluan
a82794581a
Use sync/atomic package, now that we are at Go 1.19
2026-01-02 20:23:40 +00:00
Deluan
31811b3fab
Remove custom atomic.Bool, we are now at Go 1.19
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
10926d8fb9
Don't cancel transcoding session if context is canceled
2026-01-02 20:22:41 +00:00
Deluan
ac42cfd3d6
Add logs to cache hunter
2026-01-02 20:22:40 +00:00
Deluan
ad12edc79c
Update golangci-lint and fix lint errors
2026-01-02 20:22:21 +00:00
Deluan
a773c6de86
Fix file descriptor leaking.
2026-01-02 20:22:03 +00:00
Deluan
0140bf268c
Implement updateShare and deleteShare Subsonic endpoints
2026-01-02 20:21:59 +00:00
Deluan
ab7dd56421
Workaround to detect empty dates in some Subsonic clients
2026-01-02 20:21:59 +00:00
Deluan
6d02c1fc2b
Fix timer going awry
2026-01-02 20:21:19 +00:00
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