Skip to content

Fix author-name collisions and series-set release searches - #137

Open
jonnotk wants to merge 2 commits into
Chaptarr:developfrom
jonnotk:codex/fix-interactive-title-matching
Open

Fix author-name collisions and series-set release searches#137
jonnotk wants to merge 2 commits into
Chaptarr:developfrom
jonnotk:codex/fix-interactive-title-matching

Conversation

@jonnotk

@jonnotk jonnotk commented Sep 10, 2026

Copy link
Copy Markdown

Description

Fix two causes of empty book searches, reproduced on 0.9.958:

  • When an author's catalogue contains a book named after the author, the sibling-title check mistakes the release's author credit for that book. For example, Isaac Asimov The Naked Sun 2011 RETAiL EPUB eBook-NODE is rejected as a different book when the catalogue also contains Isaac Asimov. Ignore a contradictory title that tokenizes to the author's name. Other sibling-title checks remain active, including Foundation and Empire versus Foundation.
  • Galactic Empire Series 3 Books Set queries every packaging term and returns nothing, although the indexer has Galactic Empire series by Isaac Asimov EPUB. Remove trailing numeric box-set packaging from the query. For titles explicitly naming a series set, also allow a matching variant that retains Series and omits the retail book count. Reject that variant if the release adds a volume/count or another title, including under default Balanced matching. The selected catalogue title stays unchanged.

This does not disable quality, language, pack, existing-file or other identity checks. It does not add general multi-book import support.

Database Migration

No.

How was this tested?

  • Added regression tests: three author-credit cases failed before the fix, and two shorter series-set cases failed before the set-matching change. All pass with the patch. Tests also cover different-book rejection, partial sets, individual volumes, ebook and audiobook release names, and unchanged ordinary search titles.
  • Full Chaptarr.Core.Test suite on current develop: 3,040 passed using .NET SDK 10.0.401 on macOS x64.
  • Backported the same changes to the v0.9.958 source for the live installation: 3,028 passed in its full suite.
  • Deployed the patched Core assembly in an image derived from the pinned 0.9.958 Docker image, with configuration and catalogue unchanged. Verified the running assembly hash and empty health-alert list.
  • Repeated the live interactive searches through Chaptarr's API and UI. The Naked Sun changed from zero displayed releases to one approved EPUB. The Galactic Empire set changed from zero returned releases to one approved EPUB. Both report downloadAllowed: true and no rejections. No download/import was triggered for this validation.

Test command, after restore/build:

LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 dotnet test src/Chaptarr.Core.Test/Chaptarr.Core.Test.csproj -c Release --no-build --no-restore

Build/restore used -p:WarningsNotAsErrors=NU1902 for the existing Microsoft.Build.Tasks.Git 8.0.0 advisory. The initial full run under the workstation's Portuguese locale hit an unrelated M4B duration-message assertion (23,4m versus 23.4m); the English-locale run passed. Neither dependency versions nor that test were changed.

Screenshots (UI changes only)

No frontend changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant