4274 Commits

Author SHA1 Message Date
Deluan Quintão
8e32eeae93
fix(ui): add button is covered when adding to a playlist (#4156)
* refactor: fix SelectPlaylistInput layout and improve readability - Replace dropdown with fixed list to prevent button overlay - Break down into smaller focused components - Add comprehensive test coverage - Reduce spacing for compact layout

* refactor: update playlist input translations

Signed-off-by: Deluan <deluan@navidrome.org>

* fix: format code with prettier - Fix formatting issues in AddToPlaylistDialog.test.jsx

---------

Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-30 23:15:02 -04:00
Kendall Garner
7bb1fcdd4b
fix(ui): DevFlags order in TOML export (#4155)
* fix(ui): update artist link rendering and improve button styles

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(ui): Move Dev* flags before sections in export

---------

Signed-off-by: Deluan <deluan@navidrome.org>
Co-authored-by: Deluan <deluan@navidrome.org>
2025-05-30 23:12:44 -04:00
Deluan Quintão
ded8cf236e
feat(ui): add 'Show in Playlist' context menu (#4139)
* Update song playlist menu and endpoint

* feat(ui): show submenu on click, not on hover

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(ui): integrate dataProvider for fetching playlists in song context menu

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(ui): update song context menu to use dataProvider for fetching playlists and inspecting songs

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(ui): stop event propagation when closing playlist submenu

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(ui): add 'show in playlist' option to options object

Signed-off-by: Deluan <deluan@navidrome.org>

---------

Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-30 21:26:35 -04:00
Deluan Quintão
6dd98e0bed
feat(ui): add configuration tab in About dialog (#4142)
* Flatten config endpoint and improve About dialog

* add config resource

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(ui): replace `==` with `===`

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(ui): add environment variables

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(ui): add sensitive value redaction

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(ui): more translations

Signed-off-by: Deluan <deluan@navidrome.org>

* address PR comments

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(ui): add configuration export feature in About dialog

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(ui): translate development flags section header

Signed-off-by: Deluan <deluan@navidrome.org>

* refactor

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(api): refactor routes for keepalive and insights endpoints

Signed-off-by: Deluan <deluan@navidrome.org>

* lint

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(ui): enhance string escaping in formatTomlValue function

Updated the formatTomlValue function to properly escape backslashes in addition to quotes. Added new test cases to ensure correct handling of strings containing both backslashes and quotes.

Signed-off-by: Deluan <deluan@navidrome.org>

* feat(ui): adjust dialog size

Signed-off-by: Deluan <deluan@navidrome.org>

---------

Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-30 21:07:08 -04:00
Deluan Quintão
22c3486e38
fix(server): enhance artist folder detection with directory traversal (#4151)
* fix: enhance artist folder detection with directory traversal

Enhanced fromArtistFolder function to implement directory traversal fallback for finding artist images. The original implementation only searched in the calculated artist folder, which failed for single album artists where artist.jpg files were not detected.

Changes: Modified fromArtistFolder to search up to 3 directory levels (artist folder + 2 parent levels), extracted findImageInFolder helper function for cleaner code organization, added proper boundary checks to prevent infinite traversal, maintained backward compatibility with existing functionality.

This fix ensures artist.jpg files are properly detected for single album artists while preserving all existing behavior for multi-album artists.

* refactor: address PR review suggestions

Applied review suggestions from gemini-code-assist bot:

- Added maxArtistFolderTraversalDepth constant instead of hardcoded value 3

- Updated error message to mention that parent directories were also searched

- Enhanced test assertion to verify the improved error message

* fix: improve artist folder traversal logic and enhance error logging

Signed-off-by: Deluan <deluan@navidrome.org>

* fix: remove test for special glob characters in artist folder detection

Signed-off-by: Deluan <deluan@navidrome.org>

* fix: add logging for artist image search in folder

Signed-off-by: Deluan <deluan@navidrome.org>

---------

Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-30 18:06:14 -04:00
Michael Tighe
11c9dd4bd9
fix(ui): reset page to 1 on playlist change - #1676 (#4154)
Signed-off-by: Michael Tighe <strideriidx@gmail.com>
2025-05-30 17:28:39 -04:00
Kevian
623919f53e
fix(ui): update Spanish translation (#4146)
Changed translation of "Top Rated" from "Los Mejores Calificados" to "Mejor Calificados" for consistency purposes with other list entries. While the previous version was correct, this version is shorter and aligns better with the rest of the terms.
2025-05-30 17:19:04 -04:00
Deluan
920800e909 fix(ui): restructure AboutDialog's version notification layout
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-30 16:18:07 -04:00
Deluan Quintão
c12472bd19
fix(ui): update song fetching logic to disable for radio (#4149)
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-30 08:29:36 -04:00
Deluan
a2d764d5bc test: add tests for filtering artists by role
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-29 15:44:27 -04:00
Deluan
fa2cf36245 fix(subsonic): change role filter logic
fix #4140

Signed-off-by: Deluan <deluan@navidrome.org>
v0.56.1
2025-05-29 14:54:09 -04:00
Caio Cotts
b19d5f0d3e
Merge commit from fork v0.56.0 2025-05-28 19:00:20 -04:00
Deluan
175964b17a fix(ui): refine playlist details layout and disable play date display for mobile
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-28 18:39:20 -04:00
Deluan Quintão
90b095b409
fix(ui): update German, Greek, Esperanto, Spanish, Finnish, French, Indonesian, Dutch, Portuguese (BR), Russian, Swedish, Turkish, Ukrainian translations from POEditor (#3981)
Co-authored-by: navidrome-bot <navidrome-bot@navidrome.org>
2025-05-28 17:46:34 -04:00
Deluan
821f485022 fix(ui): improve playlist details layout with word break and stats styling
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-28 17:33:35 -04:00
Deluan Quintão
d4a053370a
feat(server): add option Lastfm.ScrobbleFirstArtistOnly to send only the first artist (#4131)
fixes #3791

Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-28 08:43:07 -04:00
ChekeredList71
66926ca466
fix(ui): update Hungarian translation (#4113)
added "missing" strings

Co-authored-by: peter <asd@>
2025-05-27 21:42:25 -04:00
Deluan
1f9cbe7345 feat(server): add M3U file to downloaded playlist
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-27 20:13:37 -04:00
Deluan
de698918ac Revert "fix(server): failed transcoded files should not be cached (#4124)"
This reverts commit 9dd5a8c3347f5223d138d4279e3d51e5def4edce.
2025-05-27 19:53:10 -04:00
Deluan
71851b076c refactor: unify logic to export to M3U8
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-27 12:37:57 -04:00
Deluan Quintão
85a7268192
fix(ui): update titles for radios, shares and show pages (#4128) 2025-05-27 09:01:52 -04:00
Deluan Quintão
9dd5a8c334
fix(server): failed transcoded files should not be cached (#4124)
* Close stream on caching errors

* fix(test): replace errPartialReader with errFakeReader to fix lint error

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(test): update error assertion to check for substring in closed file error

Signed-off-by: Deluan <deluan@navidrome.org>

---------

Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-26 20:30:26 -04:00
Deluan
030710afa9 fix(ui): enhance external link display with consistent minimum heights
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-26 18:21:55 -04:00
Kendall Garner
5050250902
fix(share): force share image to be square (to fix aspect ratio) (#4122)
* fix(ui): update artist link rendering and improve button styles

Signed-off-by: Deluan <deluan@navidrome.org>

* square share player

---------

Signed-off-by: Deluan <deluan@navidrome.org>
Co-authored-by: Deluan <deluan@navidrome.org>
2025-05-26 17:39:05 -04:00
Deluan
fb32cfd7db fix(ui): fix Reading mediafile(id:undefined): data not found error
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-26 12:32:37 -04:00
Deluan Quintão
d26e2e29a6
feat(ui): add smooth image transitions to album and artist artwork (#4120)
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-26 08:57:37 -04:00
Deluan
5c4fbdb7c1 feat(ui): add playlist cover art display
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-25 23:22:55 -04:00
Deluan
0cb02bce06 test: improve test reliability with longer sleep durations and generous tolerances
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-25 22:03:55 -04:00
Deluan
fe1ed582bc build(makefile): add golangci-lint installation step to setup
Signed-off-by: Deluan <deluan@navidrome.org>
2025-05-25 20:24:51 -04:00
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