284 Commits

Author SHA1 Message Date
Deluan
e05468d2dc
FIx ffmpeg output regex too rigid 2026-01-02 19:26:43 +00:00
Deluan
ff0f8a01d7
Fix cover art detection with ffmpeg 4.4 2026-01-02 19:26:42 +00:00
Deluan
ddae77c3ac
Fix SIGUSR1 work when ScanInterval=0 2026-01-02 19:26:41 +00:00
whorfin
35aa640cfe
Improve scanner (#1054)
* Handle subdirectories without rx permission correctly
Allow ogg files w/o metadata, having taglib behave more like ffmpeg

* Fix test for walk_dir_tree, fix full reading of files in permission-
constrained directories, allow directories with leading ellipses

* Sorted directory traversal is preferred, and cleanup tests

* Small refactoring to clean-up `loadDir` function and to remove some "warnings" from IntelliJ

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 19:26:41 +00:00
Deluan
cc6d1fcca9
Fix build tag 2026-01-02 19:26:39 +00:00
Deluan
deb9ceb3c9
Disable SIGUSR1 handler for Windows (not available) 2026-01-02 19:26:39 +00:00
Deluan
5efc88904f
Add trigger scan when receiving SIGUSR1 signal 2026-01-02 19:26:39 +00:00
Deluan
a881b7d667
Comment out flaky tests 2026-01-02 19:22:07 +00:00
Deluan
77e31b27b9
Add option to sort Recently Added by file's mtime instead of time of import. 2026-01-02 19:22:06 +00:00
Deluan
10cf2372f8
Move project to Navidrome GitHub organization 2026-01-02 19:20:16 +00:00
Deluan
971728dfd5
Replace periodic scanner cancellation channel with a context 2026-01-02 19:20:13 +00:00
Deluan
8313d6fe97
Fix log message, as it is also used for taglib 2026-01-02 19:20:12 +00:00
Deluan
ad8dc26f9c
Error should always be nil 2026-01-02 19:20:11 +00:00
Deluan
e0dbf1972a
Add elapsed time when scanner does not detect any new changes 2026-01-02 19:20:11 +00:00
Deluan
bed1410e0d
Disconnect the client if the output buffer fills up 2026-01-02 19:20:11 +00:00
Deluan
9f056dcf97
Fix logging field case 2026-01-02 19:20:10 +00:00
Deluan
a0195aa5d3
Better termination handling in Scanner's progress 2026-01-02 19:20:08 +00:00
Deluan
70dc847836
Show folders scanned instead of files scanned 2026-01-02 19:20:05 +00:00
Deluan
844ce06e30
Ignore "Cover (front)" tag when using ffmpeg extractor 2026-01-02 19:19:35 +00:00
Deluan
f2e55be47e
Fine tune scan status behaviour 2026-01-02 19:19:35 +00:00
Deluan
d1bcea29bc
Sanitize comments and lyrics on import, as they are rendered as HTML on the UI 2026-01-02 19:19:35 +00:00
Deluan
417fcb37e5
Import comments and lyrics 2026-01-02 19:19:34 +00:00
Deluan
5385b950c9
Add support for multi-line tags 2026-01-02 19:19:34 +00:00
Deluan
0b25ef9c86
Remove old TODO 2026-01-02 19:19:34 +00:00
Deluan
652a6cf18f
Adding a communication channel between server and clients using SSE 2026-01-02 19:19:33 +00:00
Deluan
a5749092cb
Revert "Process empty folders as changed folders"
This reverts commit e07152b6955558dbbca373cd98b46c0ffa3aae5e.
2026-01-02 19:18:59 +00:00
Deluan
c6534e213a
Process empty folders as changed folders
This is a workaround for rclone not changing the directory modtime when you delete all folders from it (happens when you are moveing things around with beets)
2026-01-02 19:18:59 +00:00
Deluan
8c0cbeffbb
Simplify scanner utilization 2026-01-02 19:18:59 +00:00
Deluan
a3713647f8
Update count on getScanStatus 2026-01-02 19:18:58 +00:00
Deluan
8a17d6999f
Stop tag_scanner when waltDirTree is interrupted by errors
Otherwise, tag_scanner remove tracks from folders that would come after the error
2026-01-02 19:18:27 +00:00
Deluan
44c1072ca0
Better naming for function 2026-01-02 19:18:27 +00:00
Deluan
879b439b30
Recover from panic when reading invalid id2 tags
Workaround for #596
2026-01-02 19:18:27 +00:00
Deluan
cc2dbd2925
Abort scan when media folder is empty
This is to prevent all data being deleted in the case where a mount is not available
2026-01-02 19:18:27 +00:00
Deluan
1f867e54d5
Process changed folders as they are discovered 2026-01-02 19:18:26 +00:00
Deluan
92ebe8191a
WIP 2026-01-02 19:18:26 +00:00
Deluan
26902d78df
Only start the cache warming after all folders were scanned 2026-01-02 19:18:26 +00:00
Deluan
321c2fc4f1
Move mock datastore to tests package 2026-01-02 19:18:25 +00:00
Deluan
04fe3aff4a
Add simple cache warmer, disabled by default 2026-01-02 19:18:25 +00:00
Deluan
f4be41987f
Change MediaFolder.ID type to int32 2026-01-02 19:17:32 +00:00
Deluan
002bfccfaa
Add scanner status 2026-01-02 19:17:32 +00:00
Deluan
743fe03330
Fix ignoring hidden folders when scanning 2026-01-02 19:17:20 +00:00
Deluan
b5e20c1934 Ignore invalid MBIDs (ex: discogs IDs) 2020-10-20 17:45:32 -04:00
Deluan
6663c079e0 Add MBIDs to media_file, album and artist 2020-10-20 16:27:22 -04:00
Deluan
26d2af17a3 Fix read DISCNUMBER as a DiscNumber tag in ffmpeg extractor 2020-10-06 17:06:47 -04:00
Deluan
665b1f6898 Fix auto-imported playlists losing the "Public" status. Fix #479 2020-10-05 12:40:44 -04:00
Deluan
f859772723 Remove dangling tracks after changing MusicFolder. Fix #445 2020-10-02 16:18:45 -04:00
Fernando Rios
80b8b69cee Fix compilation of C++ code on certain linux systems 2020-09-26 13:08:28 -04:00
Deluan
afe5a5b32a Fix extracting tags with spaces in the tagname ("Ex: Album Artist") 2020-09-22 14:42:36 -04:00
Deluan
caeff2862a Remove dependency on C++17 2020-09-10 15:16:47 -04:00
Deluan
a3ecc41e47 Change taglib extractor log level to trace 2020-09-08 13:33:07 -04:00