release / govulncheck (push) Successful in 22s
release / web (push) Failing after 24s
release / go (push) Successful in 1m57s
release / integration (push) Successful in 4m1s
release / Attach APK to the Release (tag releases only) (push) Canceled after 0s
release / Build + push container image (push) Canceled after 0s
release / Verify release artifacts (tag releases only) (push) Canceled after 0s
release / android (push) Canceled after 4m38s
release / Build signed APK (releases and dev) (push) Canceled after 4m37s
Minstrel keeps its own record of what artists have released, read from MusicBrainz, so the wanted list, search and import no longer need Lidarr. - internal/musicbrainz: searches (artists, release groups, recordings) and browses (an artist's release groups; a group's releases with track lists). One process-wide pacer at 1.1s, shared with tag enrichment, because MusicBrainz's limit is per address. A 503 throttle is retried. - Migration 0080: mb_artists, mb_release_groups, mb_artist_release_groups (a collaboration belongs to each credited artist), mb_releases, mb_release_tracks. - internal/catalogue: Discography and Releases serve the held copy and re-read it when older than 7 or 30 days. An unreachable MusicBrainz serves the stale copy, marked. An hourly pass re-reads due artists. - Art for what isn't held comes through /api/catalogue/art from the enabled cover-art sources (Cover Art Archive by release group, then the name-based sources) and is kept on disk, so the browser never fetches a third-party host. A miss is a 404 and the card shows its icon. - Request search moves from /api/lidarr/search to /api/catalogue/search, with the same response shape. Albums are release groups, and "in library" matches albums.release_group_mbid. A 10-minute cache absorbs search-as-you-type. Discover suggestions point at the art endpoint instead of looking up Lidarr. - Android calls the new path and loads Discover art through ServerImage. Installed builds older than this one lose Discover search until they update (no compatibility path, rule 22). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
61 lines
3.7 KiB
JSON
61 lines
3.7 KiB
JSON
{
|
|
"unknown": "Something went wrong.",
|
|
"unauthenticated": "Your session has ended. Please sign in again.",
|
|
"forbidden": "You don't have permission to do that.",
|
|
"not_authorized": "You don't have permission to do that.",
|
|
"invalid_credentials": "Wrong username or password.",
|
|
"rate_limited": "Too many attempts. Wait a few minutes and try again.",
|
|
"wrong_password": "Current password is incorrect.",
|
|
"password_too_short": "Password must be at least 8 characters.",
|
|
"username_invalid": "That username isn't valid.",
|
|
"username_taken": "That username is already taken.",
|
|
"email_invalid": "Enter a valid email address.",
|
|
"email_taken": "That email is already in use.",
|
|
"invalid_token": "That link has expired or already been used. Request a new one.",
|
|
"invite_invalid": "That invite has expired or already been used.",
|
|
"invite_required": "An invite is required to register on this server.",
|
|
"last_admin": "Can't demote or delete the last admin.",
|
|
"no_email_on_file": "No email is associated with that account.",
|
|
"not_configured": "This integration isn't set up yet.",
|
|
"validation": "Some fields aren't valid. Check and try again.",
|
|
"missing_fields": "Required fields are missing.",
|
|
"missing_query": "Search needs at least one keyword.",
|
|
"invalid_id": "Invalid identifier.",
|
|
"invalid_body": "Couldn't read the request.",
|
|
"bad_request": "Invalid request.",
|
|
"bad_body": "Couldn't read the request.",
|
|
"bad_kind": "Invalid request type.",
|
|
"bad_paging": "Invalid page size or offset.",
|
|
"bad_reason": "Invalid quarantine reason.",
|
|
"mbid_required": "An MBID is required for this lookup.",
|
|
"system_playlist_readonly": "System playlists can't be edited directly.",
|
|
"connection_refused": "Couldn't reach the server. Check the URL and try again.",
|
|
"musicbrainz_unreachable": "MusicBrainz can't be reached right now, so search is unavailable. Try again in a minute.",
|
|
"lidarr_unreachable": "Lidarr is unreachable right now. Try again, or check Admin → Integrations.",
|
|
"lidarr_disabled": "Lidarr integration is not enabled.",
|
|
"lidarr_auth_failed": "Lidarr authentication failed.",
|
|
"lidarr_defaults_incomplete": "Lidarr is missing a default quality profile or root folder. Set them in Admin → Integrations.",
|
|
"lidarr_server_error": "Lidarr returned an error. Check Lidarr's logs for the cause.",
|
|
"lidarr_rejected": "Lidarr rejected the request. Check the server logs for the field-level reason.",
|
|
"lidarr_album_lookup_failed": "Lidarr doesn't recognize this album. Try Resolve or Delete file instead.",
|
|
"album_mbid_missing": "This track has no Lidarr album to remove.",
|
|
"request_not_pending": "This request is no longer pending.",
|
|
"request_not_found": "That request no longer exists.",
|
|
"track_not_found": "That track no longer exists.",
|
|
"library_not_writable": "The music library isn't writable by the server.",
|
|
"file_delete_failed": "The file couldn't be deleted.",
|
|
"sweep_in_progress": "A duplicate sweep is already running.",
|
|
"duplicate_group_not_pending": "That group has already been resolved.",
|
|
"survivor_not_in_group": "That copy isn't part of this group any more.",
|
|
"suspect_track_not_found": "That track isn't flagged any more. Refresh the list.",
|
|
"invalid_verdict": "That isn't a choice for a flagged track.",
|
|
"invalid_setting": "That setting is out of range.",
|
|
"invalid_public_url": "That address isn't valid.",
|
|
"album_not_found": "That album no longer exists.",
|
|
"artist_not_found": "That artist no longer exists.",
|
|
"playlist_not_found": "That playlist no longer exists.",
|
|
"user_not_found": "That user no longer exists.",
|
|
"service_not_found": "That connection no longer exists. Refresh the page.",
|
|
"too_many_services": "There are already twenty of these. Remove one you no longer use first."
|
|
}
|