35 Commits

Author SHA1 Message Date
Deluan
56964b676d
Refactor cache.HTTPClient 2026-01-02 20:36:56 +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
Deluan
352950ac7d
Ignore flaky FileHaunter tests 2026-01-02 20:31:56 +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
d4dbe3a724
Fix IntelliJ warning 2026-01-02 20:25:45 +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
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
a773c6de86
Fix file descriptor leaking. 2026-01-02 20:22:03 +00:00
Deluan
6d02c1fc2b
Fix timer going awry 2026-01-02 20:21:19 +00:00
Deluan
7cba5d1a8f
When trying to PreCache, wait for ImageCache to be available 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
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
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
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
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
92175a3b2f
Remove temp folders after tests 2026-01-02 20:09:01 +00:00
Deluan
015628ca7f
Bump github.com/djherbis/atime to v1.1.0 2026-01-02 20:08:55 +00:00
Deluan
e63769051f
Remove dependency of deprecated ioutil package 2026-01-02 20:06:10 +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
a121ab4c70
Replace godirwalk with standard Go 1.16 filepath.WalkDir
Should fix https://github.com/navidrome/navidrome/issues/1048
2026-01-02 19:26:40 +00:00
Deluan
060fc8efcc
Add tests for SpreadFS 2026-01-02 19:26:39 +00:00
Deluan
d5150231cb
Don't panic if fscache could not be initialized due to a FS error 2026-01-02 19:26:38 +00:00
Deluan
78c8e9c75b
Add missing error log message in fscache initialization 2026-01-02 19:26:38 +00:00
Deluan
94da1050e2
Better explanation of NewSpreadFS 2026-01-02 19:21:28 +00:00
Deluan
0a94249d38
Move utilitarian/generic packages to utils: lastfm, spotify, gravatar, cache, and pool 2026-01-02 19:21:28 +00:00