github Listenarrs/Listenarr v1.0.5-canary
Canary 1.0.5

latest release: v1.0.6-canary
pre-release6 hours ago

Summary

SABnzbd downloads were landing in Import Blocked with the error \Inconsistency: Download has no path set. When SABnzbd finishes a download, it moves the job from its active queue into history. \FetchDownloadsAsync\ was correctly matching these history entries and marking the download as \Completed, but it never copied the SABnzbd \storage\ path back to \Download.DownloadPath. The import processor later threw because \DownloadPath\ was empty.

Closes #631

Changes

Fixed

  • \SabnzbdAdapter.FetchDownloadsAsync: populate \dl.DownloadPath\ from the matched SABnzbd history slot's \storage\ field when a completed history entry is found

Added

  • Regression test \PollSABnzbd_SetsDownloadPath_FromHistoryStorage_WhenPathWasEmpty\ in \SabnzbdAdapterTests\ to prevent future regressions

Testing

  • New unit test \PollSABnzbd_SetsDownloadPath_FromHistoryStorage_WhenPathWasEmpty\ asserts that after \MonitorDownloadsAsync, the download's \DownloadPath\ is populated from the SABnzbd history \storage\ value
  • Full test suite: 673/673 passed, no regressions

Notes

\DownloadClientGateway.FetchDownloadsAsync\ already runs the resulting \DownloadPath\ through \RemotePathMappingService.TranslatePathAsync\ after the adapter returns, so path mapping (remote → local) continues to work correctly for Docker and other remote setups.


Automated Canary build

Don't miss a new Listenarr release

NewReleases is sending notifications on new releases.