<divdangerouslySetInnerHTML={{__html:'This condition matches using Regular Expressions. Note that the characters <code>\\^$.|?*+()[{</code> have special meanings and need escaping with a <code>\\</code>'}}/>
helpText={`This ${implementationName} condition must match for the custom format to apply. Otherwise a single ${implementationName} match is sufficient.`}
helpText="Send anonymous usage and error information to Sonarr's servers. This includes information on your browser, which Sonarr WebUI pages you use, error reporting as well as OS and runtime version. We will use this information to prioritize features and bug fixes."
@ -183,12 +186,10 @@ class GeneralSettings extends Component {
<ConfirmModal
isOpen={this.state.isRestartRequiredModalOpen}
kind={kinds.DANGER}
title="Restart Sonarr"
message={
`Sonarr requires a restart to apply changes, do you want to restart now? ${isWindowsService?'Depending which user is running the Sonarr service you may need to restart Sonarr as admin once before the service will start automatically.':''}`
exportconstauthenticationRequiredWarning='To prevent remote access without authentication, Sonarr now requires authentication to be enabled. You can optionally disable authentication from local addresses.';
importtranslatefrom'Utilities/String/translate';
exportconstauthenticationMethodOptions=[
{key:'none',value:'None',isDisabled:true},
{key:'external',value:'External',isHidden:true},
{key:'basic',value:'Basic (Browser Popup)'},
{key:'forms',value:'Forms (Login Page)'}
{
key:'none',
getvalue(){
returntranslate('None');
},
isDisabled:true
},
{
key:'external',
getvalue(){
returntranslate('External');
},
isHidden:true
},
{
key:'basic',
getvalue(){
returntranslate('AuthBasic');
}
},
{
key:'forms',
getvalue(){
returntranslate('AuthForm');
}
}
];
exportconstauthenticationRequiredOptions=[
{key:'enabled',value:'Enabled'},
{key:'disabledForLocalAddresses',value:'Disabled for Local Addresses'}
{
key:'enabled',
getvalue(){
returntranslate('Enabled');
}
},
{
key:'disabledForLocalAddresses',
getvalue(){
returntranslate('DisabledForLocalAddresses');
}
}
];
constcertificateValidationOptions=[
{key:'enabled',value:'Enabled'},
{key:'disabledForLocalAddresses',value:'Disabled for Local Addresses'},
{key:'disabled',value:'Disabled'}
{
key:'enabled',
getvalue(){
returntranslate('Enabled');
}
},
{
key:'disabledForLocalAddresses',
getvalue(){
returntranslate('DisabledForLocalAddresses');
}
},
{
key:'disabled',
getvalue(){
returntranslate('Disabled');
}
}
];
classSecuritySettingsextendsComponent{
@ -85,16 +131,16 @@ class SecuritySettings extends Component {
helpText="Indexer Priority from 1 (Highest) to 50 (Lowest). Default: 25. Used when grabbing releases as a tiebreaker for otherwise equal releases, Sonarr will still use all enabled indexers for RSS Sync and Searching."
helpText={translate('IndexerPriorityHelpText')}
min={1}
max={50}
{...priority}
@ -161,12 +164,12 @@ function EditIndexerModalContent(props) {
helpText="During a full season search only season packs will be allowed when the season's last episode is older than this setting. Standard series only. Use 0 to disable."
helpText="Usenet only: Minimum age in minutes of NZBs before they are grabbed. Use this to give new releases time to propagate to your usenet provider."
helpText={translate('MinimumAgeHelpText')}
onChange={onInputChange}
{...settings.minimumAge}
/>
</FormGroup>
<FormGroup>
<FormLabel>Retention</FormLabel>
<FormLabel>{translate('Retention')}</FormLabel>
<FormInputGroup
type={inputTypes.NUMBER}
name="retention"
min={0}
unit="days"
helpText="Usenet only: Set to zero to set for unlimited retention"
helpText={translate('RetentionHelpText')}
onChange={onInputChange}
{...settings.retention}
/>
</FormGroup>
<FormGroup>
<FormLabel>MaximumSize</FormLabel>
<FormLabel>{translate('MaximumSize')}</FormLabel>
<FormInputGroup
type={inputTypes.NUMBER}
name="maximumSize"
min={0}
unit="MB"
helpText="Maximum size for a release to be grabbed in MB. Set to zero to set to unlimited"
helpText="Hardlinks allow Sonarr to import seeding torrents to the the series folder without taking extra disk space or copying the entire contents of the file. Hardlinks will only work if the source and destination are on the same volume"
helpTextWarning="Occasionally, file locks may prevent renaming files that are being seeded. You may temporarily disable seeding and use Sonarr's rename function as a work around."
helpText="Extract video information such as resolution, runtime and codec information from files. This requires Sonarr to read parts of the file which may cause high disk or network activity during scans."
helpText={translate('AnalyseVideoFilesHelpText')}
onChange={onInputChange}
{...settings.enableMediaInfo}
/>
@ -332,13 +394,13 @@ class MediaManagement extends Component {
@ -420,13 +482,13 @@ class MediaManagement extends Component {
advancedSettings={advancedSettings}
isAdvanced={true}
>
<FormLabel>chmodFolder</FormLabel>
<FormLabel>{translate('ChmodFolder')}</FormLabel>
<FormInputGroup
type={inputTypes.UMASK}
name="chmodFolder"
helpText="Octal, applied during import/rename to media folders and files (without execute bits)"
helpTextWarning="This only works if the user running sonarr is the owner of the file. It's better to ensure the download client sets the permissions properly."
@ -436,13 +498,13 @@ class MediaManagement extends Component {
advancedSettings={advancedSettings}
isAdvanced={true}
>
<FormLabel>chownGroup</FormLabel>
<FormLabel>{translate('ChownGroup')}</FormLabel>
<FormInputGroup
type={inputTypes.TEXT}
name="chownGroup"
helpText="Group name or gid. Use gid for remote file systems."
helpTextWarning="This only works if the user running sonarr is the owner of the file. It's better to ensure the download client uses the same group as sonarr."
text="Sonarr scores each release using the sum of scores for matching custom formats. If a new release would improve the score, at the same or better quality, then Sonarr will grab it."
text={translate('CustomFormatHelpText')}
/>
{
@ -113,10 +111,10 @@ class QualityProfileFormatItems extends Component {
<divdangerouslySetInnerHTML={{__html:'This condition matches using Regular Expressions. Note that the characters <code>\\^$.|?*+()[{</code> have special meanings and need escaping with a <code>\\</code>'}}/>