Deluan Quintão
5e2db2c673
fix(server): fix numeric comparisons for float custom tags in smart playlists ( #4116 )
...
* Fix numeric comparisons for custom float tags
* feat(criteria): cast numeric tags for sorting and comparisons
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-25 17:52:27 -04:00
dependabot[bot]
fac9275c27
chore(deps): bump eslint-config-prettier from 9.1.0 to 10.1.5 in /ui ( #4077 )
...
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier ) from 9.1.0 to 10.1.5.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases )
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md )
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v9.1.0...v10.1.5 )
---
updated-dependencies:
- dependency-name: eslint-config-prettier
dependency-version: 10.1.5
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-24 23:10:46 -04:00
dependabot[bot]
6b3afc03cc
build(deps): bump golangci/golangci-lint-action in /.github/workflows ( #4035 )
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 7 to 8.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v7...v8 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-version: '8'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-24 23:05:47 -04:00
Deluan
35599230ff
test: update test command to run without watch mode
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-24 22:58:04 -04:00
Deluan
13ea00e7f8
chore(deps): update JS dependencies
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-24 22:55:53 -04:00
Deluan
f7fb77054f
build(makefile): fix golangci-lint installation path check
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-24 22:40:33 -04:00
Deluan
441c9f52cc
chore(deps): update Go dependencies
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-24 22:36:05 -04:00
Deluan Quintão
b722f0dcfc
fix(ui): improve scan status handling (again) ( #4115 )
2025-05-24 21:26:05 -04:00
Deluan
c98e4d02cb
feat(ui): add missing filter for admin users in album, artist, and song lists
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-24 13:06:36 -04:00
Xabi
5ade9344ff
fix(ui): update Basque translation ( #4064 )
...
* Update eu.json
Added roles, reordered some strings, small fixes
* fix(ui): update Basque translation
* Update eu.json
third time's the charm
* please bear with me
I'm not a developer. I'm trying my hardest.
* Update eu.json
Added newest strings
2025-05-24 12:53:51 -04:00
ChekeredList71
d903d3f1e0
fix(ui): update Hungarian translation ( #4112 )
...
added: bitDepth, sampleRate, album/date, saveQueue, missing/empty, actions/remove_all, remove_all_missing_title, remove_all_missing_content, scanType, status, elapsedTime
edited (better sentence structuring, making it make more sense, etc.): listenBrainzLinkSuccess, playListsText
Co-authored-by: ChekeredList71 <asd@asd.com>
2025-05-24 12:38:12 -04:00
Deluan
6bf6424864
fix(scanner): optimize missing flag update logic for artists
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-24 12:31:12 -04:00
Deluan
a9f93c97e1
fix(ui): improve elapsed time handling during scans
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-24 10:13:01 -04:00
Deluan
3350e6c115
fix(ui): elapsed time for scans
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-23 23:28:02 -04:00
Deluan Quintão
514aceb785
feat(ui) add Save Queue to Playlist ( #4110 )
...
* ui: add save queue to playlist
* fix(ui): improve toolbar layout
Signed-off-by: Deluan <deluan@navidrome.org>
* fix(ui): add loading state to save queue dialog
Signed-off-by: Deluan <deluan@navidrome.org>
* fix(ui): refresh playlist after saving queue
Signed-off-by: Deluan <deluan@navidrome.org>
* fix lint
Signed-off-by: Deluan <deluan@navidrome.org>
* remove duplication in PlayerToolbar and add tests
Signed-off-by: Deluan <deluan@navidrome.org>
* fix(i18n): update save queue text for clarity in English and Portuguese
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-23 22:04:18 -04:00
Deluan
370f8ba293
fix(ui): update artist link rendering and improve button styles
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-23 17:42:19 -04:00
Deluan
1e4c759d93
test: fix flaky scanner tests by setting maximum open connections to 1
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-23 15:39:44 -04:00
Ewen
e06fbd26b7
fix(ui): update French translation ( #4069 )
...
Signed-off-by: Malesio <krytonspace@gmail.com>
2025-05-23 10:56:47 -04:00
Deluan
9062f4824e
fix(ui): the Portuguese translation is actually Brazilian Portuguese
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-23 09:11:07 -04:00
Deluan
2503d2dbb8
fix: small formatting error in en.json
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-23 09:04:41 -04:00
Deluan
45188e710c
fix(ui): update Portuguese translations
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-23 08:14:53 -04:00
Deluan
9dd050c377
fix: add useResourceRefresh hook to AlbumShow, ArtistShow, MissingFilesList, and PlaylistShow components
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-23 00:02:42 -04:00
Deluan Quintão
3ccc02f375
feat(ui): add remove all missing files functionality ( #4108 )
...
* Add remove all missing files feature
* test: update mediafile_repository tests for missing files deletion
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-22 22:28:10 -04:00
Copilot
992c78376c
feat(scanner): add Scanner.PurgeMissing configuration option ( #4107 )
...
* Initial plan for issue
* Add Scanner.PurgeMissing configuration option
Co-authored-by: deluan <331353+deluan@users.noreply.github.com>
* Remove GC call from phaseMissingTracks.purgeMissing method
Co-authored-by: deluan <331353+deluan@users.noreply.github.com>
* Address PR comments for Scanner.PurgeMissing feature
Co-authored-by: deluan <331353+deluan@users.noreply.github.com>
* Address PR comments and add DeleteAllMissing method
Co-authored-by: deluan <331353+deluan@users.noreply.github.com>
* refactor(scanner): simplify purgeMissing logic and improve error handling
Signed-off-by: Deluan <deluan@navidrome.org>
* fix configuration test
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: deluan <331353+deluan@users.noreply.github.com>
Co-authored-by: Deluan <deluan@navidrome.org>
2025-05-22 20:50:15 -04:00
Deluan Quintão
4a2412eef7
test: add PERFORMER tests ( #4105 )
...
* Add performer participant tests with MBIDs
* test: add handling for mismatched performer names and MBIDs in participant tests
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-22 16:41:08 -04:00
Deluan Quintão
98fdc42d09
test: fix ignored artwork tests ( #4103 )
...
* Fix artwork internal tests
* fix: rename artistReader functions to artistArtworkReader for clarity
Signed-off-by: Deluan <deluan@navidrome.org>
* fix: update artwork internal tests to handle corrupted cover scenarios
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-22 15:48:24 -04:00
Deluan
eb944bd261
chore: update Makefile to install golangci-lint if not present and adjust lint command
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-21 23:13:32 -04:00
Deluan
84384006a4
docs: update copilot instructions with important commands and linting guidelines
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-21 22:33:33 -04:00
Deluan Quintão
e5438552c6
fix(transcoding): restrict transcoding operations to admin users ( #4096 )
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-21 22:19:23 -04:00
Kendall Garner
6ac3acaaf8
fix(db): allow deleting users that have shares ( #4098 )
...
* fix(db): allow deleting users that have shares
* remove placeholders
2025-05-21 22:16:10 -04:00
Deluan
3953e3217d
docs: add code guidelines for backend and frontend development
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-21 21:57:24 -04:00
Deluan Quintão
6731787053
fix(server): memory leak in cache warmer ( #4095 )
...
* Prevent cache warmer memory leak when cache disabled
* refactor(tests): replace disabledCache with mockFileCache in CacheWarmer tests
Signed-off-by: Deluan <deluan@navidrome.org>
* test(cache): enhance CacheWarmer tests for initialization, buffer management, and error handling
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-21 21:48:49 -04:00
Deluan
dd1d3907b4
Revert "refactor(server): simplify lastfm agent initialization logic"
...
This reverts commit 6f52c0201cdc6e92bf4e47394d79767db9c33640.
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-21 16:45:30 -04:00
Kendall Garner
924354eb4b
fix(subsonic): find lyrics by artist or albumartist ( #4093 )
...
* find artist by multivalued exact match, instead of 'artist' field
* check if lyrics are not empty
* refactor(filters): rename function to better reflect its purpose
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
Co-authored-by: Deluan <deluan@navidrome.org>
2025-05-21 09:36:26 -04:00
Deluan Quintão
6880cffd16
feat(ui): add scan progress and error reporting to UI ( #4094 )
...
* feat(scanner): add LastScanError tracking to scanner status
- Introduced LastScanErrorKey constant for error tracking.
- Updated StatusInfo struct to include LastError field.
- Modified scanner logic to store and retrieve last scan error.
- Enhanced ScanStatus response to include error information.
- Updated UI components to display last scan error when applicable.
- Added tests to verify last scan error functionality.
Signed-off-by: Deluan <deluan@navidrome.org>
* feat(scanner): enhance scan status with type and elapsed time tracking
- Added LastScanTypeKey and LastScanStartTimeKey constants for tracking scan type and start time.
- Updated StatusInfo struct to include ScanType and ElapsedTime fields.
- Implemented getScanInfo method to retrieve scan type, elapsed time, and last error.
- Modified scanner logic to store scan type and start time during scans.
- Enhanced ScanStatus response and UI components to display scan type and elapsed time.
- Added formatShortDuration utility for better elapsed time representation.
- Updated activity reducer to handle new scan status fields.
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor(tests): consolidate controller status tests into a single file
- Removed the old controller_status_test.go file.
- Merged relevant tests into the new controller_test.go file for better organization and maintainability.
- Ensured all existing test cases for controller status are preserved and functional.
Signed-off-by: Deluan <deluan@navidrome.org>
* Fix formatting issues
* refactor(scanner): update getScanInfo method documentation
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-21 09:30:23 -04:00
Caio Cotts
fef1739c1a
feat(server): add DefaultShareExpiration config option ( #4082 )
...
* add DefaultShareExpiration config option
* run prettier so that I can push
* undo reformatting
* sort imports
2025-05-20 22:17:30 -04:00
Deluan Quintão
453630d430
feat: hide missing artists from regular users and Subsonic API ( #4092 )
...
* Handle missing artists for non-admin users
* feat(artist): enhance ArtistList with missing row styling and class management
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-20 21:53:02 -04:00
Deluan
4733616d90
chore: removed unused file
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-20 21:25:33 -04:00
Deluan Quintão
ba7fd13724
feat(subsonic): add ISRC support for OpenSubsonic Child ( #4088 )
...
* docs: add testing and logging guidelines to AGENTS.md
Signed-off-by: Deluan <deluan@navidrome.org>
* Introduce TagISRC and update ISRC handling
* fix: update .gitignore to exclude executable files and bin directory
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-20 12:37:27 -04:00
Caio Cotts
1e4e3eac6e
fix: update Makefile with new demo URLs ( #4080 )
2025-05-19 15:34:25 -04:00
Deluan Quintão
19d443ec7f
feat(scanner): add Scanner.FollowSymlinks option ( #4061 )
...
* Add Scanner.FollowSymlinks option (default: true) - Fixes #4060
* fix(mockMusicFS): improve symlink handling in Open, Stat, and ReadDir methods
Signed-off-by: Deluan <deluan@navidrome.org>
* refactor(tests): enhance walkDirTree tests with symlink handling and cleanup
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-15 10:33:28 -04:00
Deluan Quintão
db92cf9e47
fix(scanner): optimize refresh ( #4059 )
...
* fix(artist): update RefreshStats to only process artists with recently updated media files
Signed-off-by: Deluan <deluan@navidrome.org>
* fix: paginate Artist's RefreshStats, also replace rawSQL with Expr
Signed-off-by: Deluan <deluan@navidrome.org>
---------
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-14 20:47:03 -04:00
Kendall Garner
ec9f9aa243
feat:(server): support reading lyrics from filesystem ( #2897 )
...
* simplified lyrics handling
* address initial feedback
* add some trace and error logging
* allow fallback lyrics
* update nit
* restore artist/title filter only
2025-04-30 08:10:19 -04:00
Kendall Garner
0d1f2bcc8a
fix(scanner): check if aiff/wma file has cover art ( #3996 )
...
* check if aiff file has cover art
* add cover art to test files, more support in wrapper
* remove wavpak since tag does't read it anyway
2025-04-25 13:00:26 -04:00
Deluan
dfa217ab51
docs(scanner): add overview README document
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-04-25 12:54:29 -04:00
Kendall Garner
3d6a2380bc
feat(server): add artist/albumartist filter to media file ( #4001 )
...
* add artist/albumartist filter to media file
* artist -> artists_id
2025-04-25 12:50:21 -04:00
DDinghoya
53aa640f35
fix(ui): update Korean translation ( #3980 )
...
* Update ko.json
* Extra characters '들' present before the key.
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update resources/i18n/ko.json
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update resources/i18n/ko.json
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update resources/i18n/ko.json
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update resources/i18n/ko.json
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Update resources/i18n/ko.json
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
---------
Co-authored-by: Deluan Quintão <github@deluan.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-04-24 19:22:31 -04:00
Kendall Garner
e4d65a7828
feat(scanner): add unsynced lyrics to default mapping ( #3997 )
2025-04-24 17:40:51 -04:00
Deluan Quintão
b41123f75e
chore: remove DevEnableBufferedScrobble and always enable buffered scrobbling ( #3999 )
...
Removed all code, config, and test references to DevEnableBufferedScrobble. Buffered scrobbling is now always enabled. Added this option to the list of deprecated config options with a warning. Updated all logic and tests to reflect this. No linter issues remain. Some PlayTracker tests are failing, but these are likely due to test data or logic unrelated to this change. All other tests pass. Review required for PlayTracker test failures.
Signed-off-by: Deluan <deluan@navidrome.org>
2025-04-24 17:19:50 -04:00
Deluan
6f52c0201c
refactor(server): simplify lastfm agent initialization logic
...
Signed-off-by: Deluan <deluan@navidrome.org>
2025-04-19 23:36:53 -04:00