Environment
- Listenarr
canary tag, version shown in UI: 1.3.0
- Image digest:
sha256:734941169e4ebb5b9fd1ee5e6d99d904cd687eaa79803535c00c7d0302703430 (pulled 2026-08-14, confirmed latest canary at that time)
- Docker Compose deployment, bridge networking
Bug
Opening the "Add to Library" modal for any new (not-yet-added) search result leaves the Add to Library button permanently greyed out, with no visible error explaining why.
Root cause
When the modal opens, the frontend calls POST /api/v1/library/preview-path to pre-fill the destination path. Example request/response against a clean root folder (/audiobooks/Audiobooks, isDefault: true):
POST /api/v1/library/preview-path
{"metadata": {...}, "destinationRoot": "/audiobooks/Audiobooks"}
200 OK
{
"fullPath": "/audiobooks/Audiobooks/Ray Nayler/The Mountain in the Sea",
"relativePath": "/audiobooks/Audiobooks/Ray Nayler/The Mountain in the Sea",
"root": "/audiobooks/Audiobooks"
}
relativePath is identical to fullPath and it's an absolute path, not relative to root. It should be Ray Nayler/The Mountain in the Sea.
The frontend (AddLibraryModal) takes this value at face value and populates the relative-path input with it. Its own client-side validation then correctly notices the value starts with / and treats it as invalid:
"Enter a path relative to the selected configured root folder."
That validation error is never surfaced visibly in the modal body it just silently disables the submit button via the button's disabled binding (T.value || Y.value || !!q.value). This also causes the "Effective destination" preview text to double the root prefix: /audiobooks/Audiobooks/audiobooks/Audiobooks/Ray Nayler/The Mountain in the Sea.
Net effect: every attempt to add a new audiobook through search results is silently blocked, with no error message pointing at the cause.
Steps to reproduce
- Add New and search for any book not already in your library (e.g. by ASIN).
- Click the result's Add button to open the "Add to Library" modal.
- Observe the "Add to Library" button is disabled/greyed out with no visible reason.
- Inspect the "relative path" field and it contains an absolute path starting with
/.
Expected behavior
/library/preview-path should return relativePath relative to destinationRoot, and/or the modal should surface the validation error text next to the field instead of just disabling the button silently.
Workaround
Manually edit the relative-path field in the modal to strip the leading root-folder path (e.g. change /audiobooks/Audiobooks/Author/Title to Author/Title). The validation error clears and the Add button becomes clickable.
Environment
canarytag, version shown in UI:1.3.0sha256:734941169e4ebb5b9fd1ee5e6d99d904cd687eaa79803535c00c7d0302703430(pulled 2026-08-14, confirmed latestcanaryat that time)Bug
Opening the "Add to Library" modal for any new (not-yet-added) search result leaves the Add to Library button permanently greyed out, with no visible error explaining why.
Root cause
When the modal opens, the frontend calls
POST /api/v1/library/preview-pathto pre-fill the destination path. Example request/response against a clean root folder (/audiobooks/Audiobooks,isDefault: true):relativePathis identical tofullPathand it's an absolute path, not relative toroot. It should beRay Nayler/The Mountain in the Sea.The frontend (
AddLibraryModal) takes this value at face value and populates the relative-path input with it. Its own client-side validation then correctly notices the value starts with/and treats it as invalid:That validation error is never surfaced visibly in the modal body it just silently disables the submit button via the button's
disabledbinding (T.value || Y.value || !!q.value). This also causes the "Effective destination" preview text to double the root prefix:/audiobooks/Audiobooks/audiobooks/Audiobooks/Ray Nayler/The Mountain in the Sea.Net effect: every attempt to add a new audiobook through search results is silently blocked, with no error message pointing at the cause.
Steps to reproduce
/.Expected behavior
/library/preview-pathshould returnrelativePathrelative todestinationRoot, and/or the modal should surface the validation error text next to the field instead of just disabling the button silently.Workaround
Manually edit the relative-path field in the modal to strip the leading root-folder path (e.g. change
/audiobooks/Audiobooks/Author/TitletoAuthor/Title). The validation error clears and the Add button becomes clickable.