Qualify the stabilization candidate for controlled rollout - #52
Merged
Merged
Conversation
Prowlarr's /api/v1/search binds `categories` as an array of int, which
requires a repeated query parameter (categories=7000&categories=3030).
searchOnce used url.Values.Set with a comma-joined string, so any format
resolving to more than one category produced categories=7000%2C3030 and
Prowlarr rejected it with 400 Bad Request:
"categories": { "rawValue": "7000,3030",
"errors": [{ "errorMessage": "The value '7000,3030' is not valid." }],
"validationState": "invalid" }
librarry surfaces that upstream failure to the browser as a 502.
This hit audiobook searches (7000,3030) and the "any" format on every
query regardless of search term or indexer. Ebook searches were
unaffected only incidentally, because "7000" is a single value with no
comma to mis-encode.
Add categoryListForFormat, which splits the same list for use with
url.Values.Add. categoriesForFormat is retained for fetchIndexerFeed:
the Newznab feed endpoint takes a comma-joined `cat` parameter, which
is the correct convention there and must not change.
bandoracer
marked this pull request as ready for review
September 17, 2026 00:17
This was referenced Sep 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The older application can lose file identity after interrupted imports or renames, resubmit uncertain downloads, and truncate large-library workflows. This candidate combines the existing stabilization stack with durable recovery, explicit file evidence, complete collection reads and operator review controls, while preserving the publication guard from #51.
Migrations 0030–0058 are append-only. Candidate follow-ups fix the cold-statistics missing-books query, preserve acquisition failure explanations, label the collapsed theme control, correct removal retention text and route removed books to their restoration page. The original stacked drafts remain available as review history.
Qualification is complete for application source
6e209ffd8d3724879e52187e27790029e66af986. Subsequent commits record documentation only.latestdigests remained unchanged.The documentation now has a concise installation README with an actual UI screenshot, focused operator and implementation guides, a current readiness summary, and a separate historical ledger. Source-build, authentication, automation, backup and restore instructions are reconciled with the candidate. Contribution/security guidance, a changelog and issue/PR templates are included. Documentation checks passed for 331 local links and 147 heading fragments across 42 Markdown files, issue-form structure, deployment configuration and whitespace.
Candidate tag:
candidate-6e209ffd8d3724879e52187e27790029e66af986-35157133068-1.sha256:5b42f0e33c465026e4105a740baba72202df606389e614d150ac1e8da2334cd2sha256:a8c9ea2acae6fa155c73715aa4be2e7b3ce8cb42dc7458795f16be9ce2cdf4dbMerged into main at
e742210d5c4b6a422ce60b5dc86f08e2fd93e99cafter all six checks passed onc0d9efb. The exact qualified digest pair is now deployed on the maintainer NAS. Migration 0029→0058 preserved existing records, all three file/book associations and media hashes; live Prowlarr/qBittorrent/Open Library checks and the library scan passed. Cosmos routing is repaired and requires Cosmos sign-in. The original application environment is restored, initial workers report no errors, and a fresh rollback checkpoint is retained. Issue #1 is fixed; older draft PRs and #2 are superseded. Release and rollout evidence record the result. The owner subsequently requested immediate latest promotion to replace the broken older images. Run 35168275050 promoted the exact qualified indexes without rebuilding; both latest tags and platform manifests were verified. The longer observation remains incomplete and is no longer a publication prerequisite. Rich-provider credentials and real Readarr migration/consumer qualification remain separate limitations.Detailed source, platform digests, methods, fixture limitations and rollback evidence: qualification report. Release gates: checklist.