Repository navigation
Conversation
This was referenced Aug 31, 2026
Pin both source trees, distinguish compatibility defects from review and qualification work, and prioritize unchanged-client semantics and recoverable installed migration. Add a reproducible review snapshot without changing historical dispositions or release gates. Validation: isolated audit assertions, deterministic snapshot regeneration, document links/counts, Semgrep (zero findings), image-alias/readiness regressions, and diff whitespace checks. release-note: none
A book pinned to one narration (a narrator-specific request, or a second narration tracked as a variant) gives its pinned edition first crack at a download, but only when a tag names the wanted narrator. Many uploads have no narrator credit at all, so the download fell through to library-wide matching, which cannot tell the base book and its variant apart, and the import was blocked (NO_MATCH_HOLY_GRAIL). When no tag names any narrator, accept the pinned edition if the file length is within the usual audiobook matching tolerance of that edition and every other known narration of the book is at least two minutes farther from the file. Narrations can be only minutes apart (two Harry Potter readings differ by seven), so the tolerance alone cannot tell them apart. A tag naming another narrator, an unknown length, or a length that does not single out the pinned narration still fails as before. The title check also accepts the pinned title without an Audible-style ", Book N" suffix, which uploads rarely repeat. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Fixes #67
Book lookup already accepts a
mediaTypequery parameter and filters remote results with it, but the remote text-search path was not given that value. Goodreads autocomplete results therefore kept the defaultAudiobookmedia type, so an ebook lookup filtered every result out.This passes the requested
BookMediaTypefromBookLookupControllerthroughISearchForNewBookandBookInfoProxy. Calls without a scope keep the existing behavior.I added regression coverage for both the controller forwarding the requested type and Goodreads text results retaining it.
Testing:
dotnet build src/Chaptarr.sln --configuration Release --no-restoredotnet test src/Chaptarr.Core.Test/Chaptarr.Core.Test.csproj --configuration Release --no-restore