Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/Readarr/commit/073342ef39cacebfbc280f167cdf87e276d70505
You should set ROOT_URL correctly, otherwise the web may not work correctly.
9 changed files with
59 additions and
6 deletions
@ -2,8 +2,10 @@
display : flex ;
justify-content : flex-end ;
margin-right : $ formLabelRightMarginWidth ;
padding-top : 8px ;
min-height : 35px ;
text-align : end ;
font-weight : bold ;
line-height : 35px ;
}
. hasError {
@ -61,8 +61,12 @@ function DownloadClientOptions(props) {
legend = { translate ( 'FailedDownloadHandling' ) }
>
< Form >
< FormGroup size = { sizes . MEDIUM } >
< FormLabel > { translate ( 'RedownloadFailed' ) } < / F o r m L a b e l >
< FormGroup
advancedSettings = { advancedSettings }
isAdvanced = { true }
size = { sizes . MEDIUM }
>
< FormLabel > { translate ( 'AutoRedownloadFailed' ) } < / F o r m L a b e l >
< FormInputGroup
type = { inputTypes . CHECK }
@ -72,7 +76,28 @@ function DownloadClientOptions(props) {
{ ... settings . autoRedownloadFailed }
/ >
< / F o r m G r o u p >
{
settings . autoRedownloadFailed . value ?
< FormGroup
advancedSettings = { advancedSettings }
isAdvanced = { true }
size = { sizes . MEDIUM }
>
< FormLabel > { translate ( 'AutoRedownloadFailedFromInteractiveSearch' ) } < / F o r m L a b e l >
< FormInputGroup
type = { inputTypes . CHECK }
name = "autoRedownloadFailedFromInteractiveSearch"
helpText = { translate ( 'AutoRedownloadFailedFromInteractiveSearchHelpText' ) }
onChange = { onInputChange }
{ ... settings . autoRedownloadFailedFromInteractiveSearch }
/ >
< / F o r m G r o u p > :
null
}
< / F o r m >
< Alert kind = { kinds . INFO } >
{ translate ( 'RemoveDownloadsAlert' ) }
< / A l e r t >
@ -144,6 +144,13 @@ namespace NzbDrone.Core.Configuration
set { SetValue ( "AutoRedownloadFailed" , value ) ; }
}
public bool AutoRedownloadFailedFromInteractiveSearch
{
get { return GetValueBoolean ( "AutoRedownloadFailedFromInteractiveSearch" , true ) ; }
set { SetValue ( "AutoRedownloadFailedFromInteractiveSearch" , value ) ; }
}
public bool CreateEmptyAuthorFolders
{
get { return GetValueBoolean ( "CreateEmptyAuthorFolders" , false ) ; }
@ -19,6 +19,7 @@ namespace NzbDrone.Core.Configuration
//Completed/Failed Download Handling (Download client)
bool EnableCompletedDownloadHandling { get ; set ; }
bool AutoRedownloadFailed { get ; set ; }
bool AutoRedownloadFailedFromInteractiveSearch { get ; set ; }
//Media Management
bool AutoUnmonitorPreviouslyDownloadedBooks { get ; set ; }
@ -1,6 +1,7 @@
using System.Collections.Generic ;
using NzbDrone.Common.Messaging ;
using NzbDrone.Core.Download.TrackedDownloads ;
using NzbDrone.Core.Parser.Model ;
using NzbDrone.Core.Qualities ;
namespace NzbDrone.Core.Download
@ -22,5 +23,6 @@ namespace NzbDrone.Core.Download
public Dictionary < string , string > Data { get ; set ; }
public TrackedDownload TrackedDownload { get ; set ; }
public bool SkipRedownload { get ; set ; }
public ReleaseSourceType ReleaseSource { get ; set ; }
}
}
@ -1,9 +1,11 @@
using System ;
using System.Collections.Generic ;
using System.Linq ;
using NzbDrone.Common.Extensions ;
using NzbDrone.Core.Download.TrackedDownloads ;
using NzbDrone.Core.History ;
using NzbDrone.Core.Messaging.Events ;
using NzbDrone.Core.Parser.Model ;
namespace NzbDrone.Core.Download
{
@ -117,6 +119,7 @@ namespace NzbDrone.Core.Download
private void PublishDownloadFailedEvent ( List < EntityHistory > historyItems , string message , TrackedDownload trackedDownload = null , bool skipRedownload = false )
{
var historyItem = historyItems . Last ( ) ;
Enum . TryParse ( historyItem . Data . GetValueOrDefault ( EntityHistory . RELEASE_SOURCE , ReleaseSourceType . Unknown . ToString ( ) ) , out ReleaseSourceType releaseSource ) ;
var downloadFailedEvent = new DownloadFailedEvent
{
@ -129,7 +132,8 @@ namespace NzbDrone.Core.Download
Message = message ,
Data = historyItem . Data ,
TrackedDownload = trackedDownload ,
SkipRedownload = skipRedownload
SkipRedownload = skipRedownload ,
ReleaseSource = releaseSource
} ;
_eventAggregator . PublishEvent ( downloadFailedEvent ) ;
@ -5,6 +5,7 @@ using NzbDrone.Core.IndexerSearch;
using NzbDrone.Core.Messaging ;
using NzbDrone.Core.Messaging.Commands ;
using NzbDrone.Core.Messaging.Events ;
using NzbDrone.Core.Parser.Model ;
namespace NzbDrone.Core.Download
{
@ -41,6 +42,12 @@ namespace NzbDrone.Core.Download
return ;
}
if ( message . ReleaseSource = = ReleaseSourceType . InteractiveSearch & & ! _configService . AutoRedownloadFailedFromInteractiveSearch )
{
_logger . Debug ( "Auto redownloading failed albumbs from interactive search is disabled" ) ;
return ;
}
if ( message . BookIds . Count = = 1 )
{
_logger . Debug ( "Failed download only contains one book, searching again" ) ;
@ -61,6 +61,9 @@
"AuthorNameHelpText" : "The name of the author/book to exclude (can be anything meaningful)" ,
"Authors" : "Authors" ,
"AutoAdd" : "Auto Add" ,
"AutoRedownloadFailed" : "Redownload Failed" ,
"AutoRedownloadFailedFromInteractiveSearch" : "Redownload Failed from Interactive Search" ,
"AutoRedownloadFailedFromInteractiveSearchHelpText" : "Automatically search for and attempt to download a different release when failed release was grabbed from interactive search" ,
"AutoRedownloadFailedHelpText" : "Automatically search for and attempt to download a different release" ,
"AutoUnmonitorPreviouslyDownloadedBooksHelpText" : "Books deleted from disk are automatically unmonitored in Readarr" ,
"Automatic" : "Automatic" ,
@ -1,4 +1,4 @@
using NzbDrone.Core.Configuration ;
using NzbDrone.Core.Configuration ;
using Readarr.Http.REST ;
namespace Readarr.Api.V1.Config
@ -9,6 +9,7 @@ namespace Readarr.Api.V1.Config
public bool EnableCompletedDownloadHandling { get ; set ; }
public bool AutoRedownloadFailed { get ; set ; }
public bool AutoRedownloadFailedFromInteractiveSearch { get ; set ; }
}
public static class DownloadClientConfigResourceMapper
@ -20,7 +21,8 @@ namespace Readarr.Api.V1.Config
DownloadClientWorkingFolders = model . DownloadClientWorkingFolders ,
EnableCompletedDownloadHandling = model . EnableCompletedDownloadHandling ,
AutoRedownloadFailed = model . AutoRedownloadFailed
AutoRedownloadFailed = model . AutoRedownloadFailed ,
AutoRedownloadFailedFromInteractiveSearch = model . AutoRedownloadFailedFromInteractiveSearch
} ;
}
}