Downloads in SABnzbd history waiting for import in Sonarr queue incorrectly flagged as unknown client #74
Closed
opened 2026-05-29 14:12:15 +01:00 by Gandalf
·
4 comments
No Branch/Tag Specified
main
release/1.7.38
develop
release/1.7.37
release/1.7.36
release/1.7.35
release/1.7.34
release/1.7.33
release/1.7.32
release/1.7.31
release/1.7.30
release/1.7.29
release/1.7.28
release/1.7.27
release/1.7.26
release/1.7.25
release/1.7.24
release/1.7.23
release/1.7.22
release/1.7.21
release/1.7.20
release/1.7.19
release/1.7.18
release/1.7.17
release/1.7.16
release/1.7.15
release/1.7.14
release/1.7.13
release/1.7.12
release/1.7.11
release/1.7.10
release/1.7.9
release/1.7.8
release/1.7.7
release/1.7.6
release/1.7.5
release/1.7.4
release/1.7.3
release/1.6.0
release/1.5.5
release/1.5.3
release/1.5.2
release/1.5.0a
release/1.4.0
release/1.3.1a
release/1.3.1
release/1.3.0
release/v1.2.2
release/v1.2.1
release/v1.2.0
release/1.1.2
release/1.1.1
release/1.1.0
release/1.0.0
release/0.2.0
release/v0.1.5
release/0.1.4
release/0.1.3
release/0.1
v1.7.38
v1.7.37
v1.7.36
v1.7.35
v1.7.34
v1.7.33
v1.7.32
v1.7.31
v1.7.30
v1.7.29
v1.7.28
v1.7.27
v1.7.26
v1.7.25
v1.7.24
v1.7.23
v1.7.22
v1.7.21
v1.7.20
v1.7.19
v1.7.18
v1.7.17
v1.7.16
v1.7.15
v1.7.14
v1.7.13
v1.7.12
v1.7.11
v1.7.10
v1.7.9
v1.7.8
v1.7.7
v1.7.6
v1.7.5
v1.7.4
v1.7.3
v1.6.0
v1.5.5
v1.5.3
v1.5.2
v1.5.1
v1.5.0a
v1.4.0
v1.3.1a
v1.3.1
v1.2.2
v1.2.1
v1.2.0
v1.1.2
v1.1.1
v1.1.0
v1.0.0
v0.2.0
v0.1.5
v0.1.4
v0.1.3
v0.1.2
v0.1.1
v0.1.0
Labels
Clear labels
Area/Docker
Area/Download Clients
Area/Frontend
Area/History
Area/Logging
Area/Matching
Area/Proxy
Area/SSE
Area/Webhooks
Compat/Breaking
Compat/Non-Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Docker image and container packaging
Download client integrations
Client-side UI and build tooling
History and completed downloads views
Log streaming, file handling, and debug infrastructure
Matching and correlation logic
Upstream service proxy routes
Server-Sent Events and real-time streaming
Webhook processing and reliability
Breaking change that won't be backward compatible
Non-breaking compatibility change
Something is not working
Documentation changes
Improve existing functionality
New functionality
This is security issue
Issue or pull request related to testing
Priority
Critical
1
The priority is critical
Priority
High
2
The priority is high
Priority
Low
4
The priority is low
Priority
Medium
3
The priority is medium
Reviewed
Confirmed
1
Issue has been confirmed
Reviewed
Duplicate
2
This issue or pull request already exists
Reviewed
Invalid
3
Invalid issue
Reviewed
Won't Fix
3
This issue won't be fixed
Status
Abandoned
3
Somebody has started to work on this but abandoned work
Status
Blocked
1
Something is blocking this issue or pull request
Status
Need More Info
2
Feedback is required to reproduce issue or to continue work
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Gandalf/sofarr#74
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Downloads that are active/completed but waiting for manual import/interaction in the Sonarr (or Radarr) queue, and have finished downloading in SABnzbd (residing in SABnzbd history), are incorrectly categorized as
"unknown"client /"Orphaned (unconfigured client)"downloads.Technical Analysis & Root Cause
The root cause lies in the title-matching fallback branch of
matchSabHistoryinserver/services/DownloadMatcher.js:matchSabHistoryis called byDownloadBuilder.jsto match SABnzbd history slots against *arr queue and history records.downloadId(matchesSabId) against:sonarrHistoryRecords/radarrHistoryRecordssonarrQueueRecords/radarrQueueRecords(added as a dual-lookup safeguard).titleMatches:sonarrHistoryRecords/radarrHistoryRecords. It completely ignoressonarrQueueRecordsandradarrQueueRecords.DownloadBuilder.js,matchOrphanedArrRecordsdiscovers the unmatched queue record, fails to find a matched download client item, and compiles it as a standalone synthetic card labelled asOrphaned (unconfigured client)/"unknown"client.Impact
Proposed Solution
Update
matchSabHistoryinserver/services/DownloadMatcher.jsto perform the title-matching fallback search against the activeQueueRecordswhenHistoryRecordsyield no matches, mirroring the dual-lookup strategy:And do the same for
radarrMatchandradarrQueueRecords.Evaluation of Issue #74 against the develop branch codebase (as of 2026-05-29)
Issue Summary (confirmed):
The technical analysis is 100% precise and accurate. The root cause is exactly as described.
Codebase Confirmation (develop branch)
1.
matchSabHistory(the function explicitly called out)When the
downloadIdmatch fails (common in the “still in *arr queue” scenario), the title fallback never looks atsonarrQueueRecords/radarrQueueRecords. It only checks history:2. Contrast with
matchSabSlots(active SAB queue)The sibling function
matchSabSlots(for items still downloading in SAB) does it correctly:This asymmetry is the direct cause of the reported symptom.
3. Downstream effect in
DownloadBuilder.jsBecause the SAB history item never matched the still-queued *arr record, the *arr queue item falls through to the orphan path and gets the "unknown client" treatment.
Assessment
matchSabSlotsRecommended Fix
Apply the exact pattern proposed in the issue, but make it symmetric with how
matchSabSlotsalready does the second fallback:This brings
matchSabHistoryinto parity withmatchSabSlots.Additional Observations / Suggestions
matchSabHistoryandmatchSabSlots. Consider a small refactoring helper to keep things unified in the long run.titleMatches(..., { isFallback: true })debug logs will automatically surface these new matches, which is helpful.nzo_iddoes match the *arr queuedownloadId(should already work via dual-lookup).Verdict: This is a legitimate, well-documented bug. The analysis is spot-on, the code confirms it, and the proposed fix is minimal, safe, and correct. Implementing this fix on
developand verifying it via unit/integration tests will resolve this issue.Resolved in commit
87387aaebe.The downloads that are in the SAB history are still shown as "Unknown"
Resolved in commit
b2a837b173.