github Listenarrs/Listenarr v1.3.19-canary
Canary 1.3.19

latest release: v1.3.20-canary
pre-release12 hours ago

Relates to #1068. Two small, independent search-query changes.

1. Empty-query guard (safety)

A query that sanitizes to an empty string — dash-only or punctuation-only input — must never be dispatched: some indexers treat an empty query as "browse everything" and would return unrelated releases that could then be grabbed. IndexerSearchWorkflow now fails closed on an empty sanitized query (logs and returns no results without calling the provider). Covered by IndexerSearchWorkflowEmptyQueryTests (dash-only, collapsing-dash, punctuation-only, whitespace-only all assert the provider is never called and nothing is returned).

2. Hyphen/dash normalization (Prowlarr/Sonarr-style cleaning)

Hyphens and the Unicode dash variants are normalized to spaces, so a hyphenated title token like Full-Cast is searched as separate words (Full Cast) — consistent with how Prowlarr/Sonarr clean query terms, and defensive against any indexer or proxy that interprets a leading - as an operator. Covered by IndexerQuerySanitizerTests.

Note on #1068's root cause

I ran a read-only comparison against NZBgeek's API. De-hyphenating did not change which releases match — hyphen and space queries returned identical counts in every pair, and a direct -token probe did not exclude. The 0-result reports in #1068 track query specificity and the appended author instead: …Full Cast Edition returned results, but appending J.K. Rowling dropped it to 0 (release names don't carry the author), and adding more title words AND-matched to nothing.

So this PR is a normalization + safety change rather than the fix for #1068's symptom. The actual fix — a title-only / drop-the-author fallback when a query returns nothing — is a sensible follow-up (and matches the reporter's own suggestion). Keeping this open as relates to rather than fixes so #1068 stays open for that work. (Caveat: the report's path is via Prowlarr, which I bypassed...


Automated Canary build

Don't miss a new Listenarr release

NewReleases is sending notifications on new releases.