Fixed: Updated wiki links

pull/4606/head
Mark McDowall 3 years ago
parent 57e3bd8b4d
commit 021fd4afa7

@ -154,7 +154,7 @@ class AddNewSeries extends Component {
<div className={styles.noResults}>Couldn't find any results for '{term}'</div>
<div>You can also search using TVDB ID of a show. eg. tvdb:71663</div>
<div>
<Link to="https://wiki.servarr.com/Sonarr_FAQ#Why_cant_I_add_a_new_series_when_I_know_the_TVDB_ID">
<Link to="https://wiki.servarr.com/sonarr/faq#why-cant-i-add-a-new-series-when-i-know-the-tvdb-id">
Why can't I find my show?
</Link>
</div>

@ -128,7 +128,7 @@ class FileBrowserModalContent extends Component {
className={styles.mappedDrivesWarning}
kind={kinds.WARNING}
>
Mapped network drives are not available when running as a Windows Service, see the <Link className={styles.faqLink} to="https://wiki.servarr.com/Sonarr_FAQ#Why_cant_Sonarr_see_my_files_on_a_remote_server">FAQ</Link> for more information.
Mapped network drives are not available when running as a Windows Service, see the <Link className={styles.faqLink} to="https://wiki.servarr.com/sonarr/faq#why-cant-sonarr-see-my-files-on-a-remote-server">FAQ</Link> for more information.
</Alert>
}

@ -59,7 +59,7 @@ function UpdateSettings(props) {
type={inputTypes.AUTO_COMPLETE}
name="branch"
helpText={usingExternalUpdateMechanism ? 'Branch used by external update mechanism' : 'Branch to use to update Sonarr'}
helpLink="https://wiki.servarr.com/Sonarr_Settings#Updates"
helpLink="https://wiki.servarr.com/sonarr/settings#updates"
{...branch}
values={branchValues}
onChange={onInputChange}
@ -97,7 +97,7 @@ function UpdateSettings(props) {
name="updateMechanism"
values={updateOptions}
helpText="Use Sonarr's built-in updater or a script"
helpLink="https://wiki.servarr.com/Sonarr_Settings#Updates"
helpLink="https://wiki.servarr.com/sonarr/settings#updates"
onChange={onInputChange}
{...updateMechanism}
/>

@ -89,7 +89,7 @@ function IndexerOptions(props) {
unit="minutes"
helpText="Interval in minutes. Set to zero to disable (this will stop all automatic release grabbing)"
helpTextWarning="This will apply to all indexers, please follow the rules set forth by them"
helpLink="https://wiki.servarr.com/Sonarr_FAQ#How_does_Sonarr_find_episodes"
helpLink="https://wiki.servarr.com/sonarr/faq#how-does-sonarr-find-episodes"
onChange={onInputChange}
{...settings.rssSyncInterval}
/>

@ -108,7 +108,7 @@ function EditNotificationModalContent(props) {
<div className={styles.triggers}>
<FormInputHelpText
text="Select which events should trigger this conection"
link="https://wiki.servarr.com/Sonarr_Settings#Connections"
link="https://wiki.servarr.com/sonarr/settings#connections"
/>
<div className={styles.triggerEvents}>

@ -21,7 +21,7 @@ class MoreInfo extends Component {
<DescriptionListItemTitle>Wiki</DescriptionListItemTitle>
<DescriptionListItemDescription>
<Link to="https://wiki.servarr.com/Sonarr">wiki.servarr.com/Sonarr</Link>
<Link to="https://wiki.servarr.com/sonarr">wiki.servarr.com/sonarr</Link>
</DescriptionListItemDescription>
<DescriptionListItemTitle>Forums</DescriptionListItemTitle>

@ -119,7 +119,7 @@ namespace NzbDrone.Api
resource.Fields = SchemaBuilder.ToSchema(definition.Settings);
resource.InfoLink = string.Format("https://wiki.servarr.com/Sonarr_Supported_{0}",
resource.InfoLink = string.Format("https://wiki.servarr.com/sonarr/supported-{0}",
definition.Implementation.ToLower());
}

@ -9,9 +9,9 @@ namespace NzbDrone.Core.Test.HealthCheck
public class HealthCheckFixture : CoreTest
{
private const string WikiRoot = "https://wiki.servarr.com/";
[TestCase("I blew up because of some weird user mistake", null, WikiRoot + "Sonarr_System#i_blew_up_because_of_some_weird_user_mistake")]
[TestCase("I blew up because of some weird user mistake", "#my_health_check", WikiRoot + "Sonarr_System#my_health_check")]
[TestCase("I blew up because of some weird user mistake", "Custom_Page#my_health_check", WikiRoot + "Custom_Page#my_health_check")]
[TestCase("I blew up because of some weird user mistake", null, WikiRoot + "sonarr/system#i-blew-up-because-of-some-weird-user-mistake")]
[TestCase("I blew up because of some weird user mistake", "#my-health-check", WikiRoot + "sonarr/system#my-health-check")]
[TestCase("I blew up because of some weird user mistake", "custom_page#my-health-check", WikiRoot + "custom_page#my-health-check")]
public void should_format_wiki_url(string message, string wikiFragment, string expectedUrl)
{
var subject = new NzbDrone.Core.HealthCheck.HealthCheck(typeof(HealthCheckBase), HealthCheckResult.Warning, message, wikiFragment);

@ -122,10 +122,10 @@ namespace NzbDrone.Core.Datastore
if (OsInfo.IsOsx)
{
throw new CorruptDatabaseException("Database file: {0} is corrupt, restore from backup if available. See: https://wiki.servarr.com/Sonarr_FAQ#I_use_Sonarr_on_a_Mac_and_it_suddenly_stopped_working_What_happened", e, fileName);
throw new CorruptDatabaseException("Database file: {0} is corrupt, restore from backup if available. See: https://wiki.servarr.com/sonarr/faq#i-use-sonarr-on-a-mac-and-it-suddenly-stopped-working-what-happened", e, fileName);
}
throw new CorruptDatabaseException("Database file: {0} is corrupt, restore from backup if available. See: https://wiki.servarr.com/Sonarr_FAQ#I_am_getting_an_error_Database_disk_image_is_malformed", e, fileName);
throw new CorruptDatabaseException("Database file: {0} is corrupt, restore from backup if available. See: https://wiki.servarr.com/sonarr/faq#i-am-getting-an-error-database-disk-image-is-malformed", e, fileName);
}
}

@ -41,14 +41,14 @@ namespace NzbDrone.Core.HealthCheck.Checks
_logger.Debug("Dotnet version is {0} or better: {1}", stableVersion, dotnetVersion);
return new HealthCheck(GetType(), HealthCheckResult.Notice,
$"Currently installed .Net Framework {dotnetVersion} is supported but we recommend upgrading to at least {targetVersion}.",
"#currently_installed_net_framework_is_supported_but_upgrading_is_recommended");
"#currently-installed-net-framework-is-supported-but-upgrading-is-recommended");
}
if (Version.TryParse(_osInfo.Version, out var osVersion) && osVersion < new Version("10.0.14393"))
{
return new HealthCheck(GetType(), HealthCheckResult.Error,
$"Currently installed .Net Framework {dotnetVersion} is no longer supported. However your Operating System cannot be upgraded to {targetVersion}.",
"#currently_installed_net_framework_is_old_and_unsupported");
"#currently-installed-net-framework-is-old-and-unsupported");
}
var oldVersion = new Version("4.6.2");
@ -56,12 +56,12 @@ namespace NzbDrone.Core.HealthCheck.Checks
{
return new HealthCheck(GetType(), HealthCheckResult.Error,
$"Currently installed .Net Framework {dotnetVersion} is no longer supported. Please upgrade the .Net Framework to at least {targetVersion}.",
"#currently_installed_net_framework_is_old_and_unsupported");
"#currently-installed-net-framework-is-old-and-unsupported");
}
return new HealthCheck(GetType(), HealthCheckResult.Error,
$"Currently installed .Net Framework {dotnetVersion} is old and unsupported. Please upgrade the .Net Framework to at least {targetVersion}.",
"#currently_installed_net_framework_is_old_and_unsupported");
"#currently-installed-net-framework-is-old-and-unsupported");
}
public override bool CheckOnSchedule => false;

@ -40,7 +40,7 @@ namespace NzbDrone.Core.HealthCheck.Checks
_logger.Debug(ex, "Unable to communicate with {0}", downloadClient.Definition.Name);
var message = $"Unable to communicate with {downloadClient.Definition.Name}.";
return new HealthCheck(GetType(), HealthCheckResult.Error, $"{message} {ex.Message}", "#unable_to_communicate_with_download_client");
return new HealthCheck(GetType(), HealthCheckResult.Error, $"{message} {ex.Message}", "#unable-to-communicate-with-download-client");
}
}

@ -47,7 +47,7 @@ namespace NzbDrone.Core.HealthCheck.Checks
{
if (rootFolders.Any(r => r.Path.PathEquals(folder.FullPath)))
{
return new HealthCheck(GetType(), HealthCheckResult.Warning, string.Format("Download client {0} places downloads in the root folder {1}. You should not download to a root folder.", client.Definition.Name, folder.FullPath), "#downloads_in_root_folder");
return new HealthCheck(GetType(), HealthCheckResult.Warning, string.Format("Download client {0} places downloads in the root folder {1}. You should not download to a root folder.", client.Definition.Name, folder.FullPath), "#downloads-in-root-folder");
}
}
}

@ -36,10 +36,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
if (backOffProviders.Count == enabledProviders.Count)
{
return new HealthCheck(GetType(), HealthCheckResult.Error, "All download clients are unavailable due to failures", "#download_clients_are_unavailable_due_to_failures");
return new HealthCheck(GetType(), HealthCheckResult.Error, "All download clients are unavailable due to failures", "#download-clients-are-unavailable-due-to-failures");
}
return new HealthCheck(GetType(), HealthCheckResult.Warning, string.Format("Download clients unavailable due to failures: {0}", string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name))), "#download_clients_are_unavailable_due_to_failures");
return new HealthCheck(GetType(), HealthCheckResult.Warning, string.Format("Download clients unavailable due to failures: {0}", string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name))), "#download-clients-are-unavailable-due-to-failures");
}
}
}

@ -51,11 +51,11 @@ namespace NzbDrone.Core.HealthCheck.Checks
if (missingRootFolders.Count == 1)
{
var missingRootFolder = missingRootFolders.First();
return new HealthCheck(GetType(), HealthCheckResult.Error, $"Missing root folder for import list(s): {FormatRootFolder(missingRootFolder.Key, missingRootFolder.Value)}", "#import_list_missing_root_folder");
return new HealthCheck(GetType(), HealthCheckResult.Error, $"Missing root folder for import list(s): {FormatRootFolder(missingRootFolder.Key, missingRootFolder.Value)}", "#import-list-missing-root-folder");
}
var message = string.Format("Multiple root folders are missing for import lists: {0}", string.Join(" | ", missingRootFolders.Select(m => FormatRootFolder(m.Key, m.Value))));
return new HealthCheck(GetType(), HealthCheckResult.Error, message, "#import_list_missing_root_folder");
return new HealthCheck(GetType(), HealthCheckResult.Error, message, "#import-list-missing-root-folder");
}
return new HealthCheck(GetType());

@ -35,10 +35,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
if (backOffProviders.Count == enabledProviders.Count)
{
return new HealthCheck(GetType(), HealthCheckResult.Error, "All import lists are unavailable due to failures", "#import_lists_are_unavailable_due_to_failures");
return new HealthCheck(GetType(), HealthCheckResult.Error, "All import lists are unavailable due to failures", "#import-lists-are-unavailable-due-to-failures");
}
return new HealthCheck(GetType(), HealthCheckResult.Warning, string.Format("Import lists unavailable due to failures: {0}", string.Join(", ", backOffProviders.Select(v => v.ImportList.Definition.Name))), "#import_lists_are_unavailable_due_to_failures");
return new HealthCheck(GetType(), HealthCheckResult.Warning, string.Format("Import lists unavailable due to failures: {0}", string.Join(", ", backOffProviders.Select(v => v.ImportList.Definition.Name))), "#import-lists-are-unavailable-due-to-failures");
}
}
}

@ -50,20 +50,20 @@ namespace NzbDrone.Core.HealthCheck.Checks
// Migration helper logic
if (!downloadClientIsLocalHost)
{
return new HealthCheck(GetType(), HealthCheckResult.Warning, "Enable Completed Download Handling if possible (Multi-Computer unsupported)", "#completed_failed_download_handling");
return new HealthCheck(GetType(), HealthCheckResult.Warning, "Enable Completed Download Handling if possible (Multi-Computer unsupported)", "#completedfailed-download-handling");
}
if (downloadClients.All(v => v.DownloadClient is Sabnzbd))
{
return new HealthCheck(GetType(), HealthCheckResult.Warning, "Enable Completed Download Handling if possible (Sabnzbd)", "#completed/failed_download_handling");
return new HealthCheck(GetType(), HealthCheckResult.Warning, "Enable Completed Download Handling if possible (Sabnzbd)", "#completedfailed-download-handling");
}
if (downloadClients.All(v => v.DownloadClient is Nzbget))
{
return new HealthCheck(GetType(), HealthCheckResult.Warning, "Enable Completed Download Handling if possible (Nzbget)", "#completed/failed_download_handling");
return new HealthCheck(GetType(), HealthCheckResult.Warning, "Enable Completed Download Handling if possible (Nzbget)", "#completedfailed-download-handling");
}
return new HealthCheck(GetType(), HealthCheckResult.Warning, "Enable Completed Download Handling if possible", "#completed/failed_download_handling");
return new HealthCheck(GetType(), HealthCheckResult.Warning, "Enable Completed Download Handling if possible", "#completedfailed-download-handling");
}
if (!_configService.EnableCompletedDownloadHandling)

@ -40,13 +40,13 @@ namespace NzbDrone.Core.HealthCheck.Checks
if (backOffProviders.Count == enabledProviders.Count)
{
return new HealthCheck(GetType(), HealthCheckResult.Error,
"All indexers are unavailable due to failures for more than 6 hours", "#indexers_are_unavailable_due_to_failures");
"All indexers are unavailable due to failures for more than 6 hours", "#indexers-are-unavailable-due-to-failures");
}
return new HealthCheck(GetType(), HealthCheckResult.Warning,
string.Format("Indexers unavailable due to failures for more than 6 hours: {0}",
string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name))),
"#indexers_are_unavailable_due_to_failures");
"#indexers-are-unavailable-due-to-failures");
}
}
}

@ -39,10 +39,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
if (backOffProviders.Count == enabledProviders.Count)
{
return new HealthCheck(GetType(), HealthCheckResult.Error, "All indexers are unavailable due to failures", "#indexers_are_unavailable_due_to_failures");
return new HealthCheck(GetType(), HealthCheckResult.Error, "All indexers are unavailable due to failures", "#indexers-are-unavailable-due-to-failures");
}
return new HealthCheck(GetType(), HealthCheckResult.Warning, string.Format("Indexers unavailable due to failures: {0}", string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name))), "#indexers_are_unavailable_due_to_failures");
return new HealthCheck(GetType(), HealthCheckResult.Warning, string.Format("Indexers unavailable due to failures: {0}", string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name))), "#indexers-are-unavailable-due-to-failures");
}
}
}

@ -49,7 +49,7 @@ namespace NzbDrone.Core.HealthCheck.Checks
_logger.Debug("Mono version is {0} or better: {1}", stableVersion, monoVersion);
return new HealthCheck(GetType(), HealthCheckResult.Notice,
$"Currently installed Mono version {monoVersion} is supported but upgrading to {bestVersion} is recommended.",
"#currently_installed_mono_version_is_supported_but_upgrading_is_recommended");
"#currently-installed-mono-version-is-supported-but-upgrading-is-recommended");
}
var oldVersion = new Version("5.4");
@ -57,12 +57,12 @@ namespace NzbDrone.Core.HealthCheck.Checks
{
return new HealthCheck(GetType(), HealthCheckResult.Error,
$"Currently installed Mono version {monoVersion} is no longer supported. Please upgrade Mono to version {bestVersion}.",
"#currently_installed_mono_version-is_old_and_unsupported");
"#currently-installed-mono-version-is-old-and-unsupported");
}
return new HealthCheck(GetType(), HealthCheckResult.Error,
$"Currently installed Mono version {monoVersion} is old and unsupported. Please upgrade Mono to version {bestVersion}.",
"#currently_installed_mono_version-is_old_and_unsupported");
"#currently-installed-mono-version-is-old-and-unsupported");
}
public override bool CheckOnSchedule => false;

@ -27,7 +27,7 @@ namespace NzbDrone.Core.HealthCheck.Checks
if (mounts.Any())
{
return new HealthCheck(GetType(), HealthCheckResult.Error, "Mount containing a series path is mounted read-only: " + string.Join(",", mounts.Select(m => m.Name)), "#series_mount_ro");
return new HealthCheck(GetType(), HealthCheckResult.Error, "Mount containing a series path is mounted read-only: " + string.Join(",", mounts.Select(m => m.Name)), "#series-mount-ro");
}
return new HealthCheck(GetType());

@ -39,7 +39,7 @@ namespace NzbDrone.Core.HealthCheck.Checks
result = HealthCheckResult.Warning;
}
return new HealthCheck(GetType(), result, message, "#package_maintainer_message");
return new HealthCheck(GetType(), result, message, "#package-maintainer-message");
}
}
}

@ -33,10 +33,10 @@ namespace NzbDrone.Core.HealthCheck.Checks
if (deletedSeries.Count() == 1)
{
return new HealthCheck(GetType(), HealthCheckResult.Error, $"Series {seriesText} was removed from TheTVDB", "#series_removed_from_thetvdb");
return new HealthCheck(GetType(), HealthCheckResult.Error, $"Series {seriesText} was removed from TheTVDB", "#series-removed-from-thetvdb");
}
return new HealthCheck(GetType(), HealthCheckResult.Error, $"Series {seriesText} were removed from TheTVDB", "#series_removed_from_thetvdb");
return new HealthCheck(GetType(), HealthCheckResult.Error, $"Series {seriesText} were removed from TheTVDB", "#series-removed-from-thetvdb");
}
public bool ShouldCheckOnEvent(SeriesDeletedEvent deletedEvent)

@ -37,11 +37,11 @@ namespace NzbDrone.Core.HealthCheck.Checks
{
if (missingRootFolders.Count == 1)
{
return new HealthCheck(GetType(), HealthCheckResult.Error, "Missing root folder: " + missingRootFolders.First(), "#missing_root_folder");
return new HealthCheck(GetType(), HealthCheckResult.Error, "Missing root folder: " + missingRootFolders.First(), "#missing-root-folder");
}
var message = string.Format("Multiple root folders are missing: {0}", string.Join(" | ", missingRootFolders));
return new HealthCheck(GetType(), HealthCheckResult.Error, message, "#missing_root_folder");
return new HealthCheck(GetType(), HealthCheckResult.Error, message, "#missing-root-folder");
}
return new HealthCheck(GetType());

@ -40,21 +40,21 @@ namespace NzbDrone.Core.HealthCheck.Checks
{
return new HealthCheck(GetType(), HealthCheckResult.Error,
string.Format("Cannot install update because startup folder '{0}' is in an App Translocation folder.", startupFolder),
"#cannot_install_update_because_startup_folder_is_in_an_App_Translocation_folder");
"#cannot-install-update-because-startup-folder-is-in-an-App-Translocation-folder");
}
if (!_diskProvider.FolderWritable(startupFolder))
{
return new HealthCheck(GetType(), HealthCheckResult.Error,
string.Format("Cannot install update because startup folder '{0}' is not writable by the user '{1}'.", startupFolder, Environment.UserName),
"#cannot_install_update_because_startup_folder_is_not_writable_by_the_user");
"#cannot-install-update-because-startup-folder-is-not-writable-by-the-user");
}
if (!_diskProvider.FolderWritable(uiFolder))
{
return new HealthCheck(GetType(), HealthCheckResult.Error,
string.Format("Cannot install update because UI folder '{0}' is not writable by the user '{1}'.", uiFolder, Environment.UserName),
"#cannot_install_update_because_UI_folder_is_not_writable_by_the_user");
"#cannot-install-update-because-UI-folder-is-not-writable-by-the-user");
}
}

@ -34,12 +34,12 @@ namespace NzbDrone.Core.HealthCheck
private static string MakeWikiFragment(string message)
{
return "#" + CleanFragmentRegex.Replace(message.ToLower(), string.Empty).Replace(' ', '_');
return "#" + CleanFragmentRegex.Replace(message.ToLower(), string.Empty).Replace(' ', '-');
}
private static HttpUri MakeWikiUrl(string fragment)
{
return new HttpUri("https://wiki.servarr.com/Sonarr_System") + new HttpUri(fragment);
return new HttpUri("https://wiki.servarr.com/sonarr/system") + new HttpUri(fragment);
}
}

@ -31,7 +31,7 @@ namespace NzbDrone.Core.Notifications.CustomScript
public override string Name => "Custom Script";
public override string Link => "https://wiki.servarr.com/Sonarr_Settings#Connections";
public override string Link => "https://wiki.servarr.com/sonarr/settings#connections";
public override ProviderMessage Message => new ProviderMessage("Testing will execute the script with the EventType set to Test, ensure your script handles this correctly", ProviderMessageType.Warning);

@ -37,10 +37,10 @@ namespace NzbDrone.Core.Notifications.Twitter
AuthorizeNotification = "startOAuth";
}
[FieldDefinition(0, Label = "Consumer Key", Privacy = PrivacyLevel.ApiKey, HelpText = "Consumer key from a Twitter application", HelpLink = "https://wiki.servarr.com/Useful_Tools#Twitter_Connect")]
[FieldDefinition(0, Label = "Consumer Key", Privacy = PrivacyLevel.ApiKey, HelpText = "Consumer key from a Twitter application", HelpLink = "https://wiki.servarr.com/useful-tools#twitter-connect")]
public string ConsumerKey { get; set; }
[FieldDefinition(1, Label = "Consumer Secret", Privacy = PrivacyLevel.ApiKey, HelpText = "Consumer secret from a Twitter application", HelpLink = "https://wiki.servarr.com/Useful_Tools#Twitter_Connect")]
[FieldDefinition(1, Label = "Consumer Secret", Privacy = PrivacyLevel.ApiKey, HelpText = "Consumer secret from a Twitter application", HelpLink = "https://wiki.servarr.com/useful-tools#twitter-connect")]
public string ConsumerSecret { get; set; }
[FieldDefinition(2, Label = "Access Token", Privacy = PrivacyLevel.ApiKey, Advanced = true)]

@ -18,7 +18,7 @@ namespace NzbDrone.Core.Notifications.Webhook
_proxy = proxy;
}
public override string Link => "https://wiki.servarr.com/Sonarr_Settings#Connections";
public override string Link => "https://wiki.servarr.com/sonarr/settings#connections";
public override void OnGrab(GrabMessage message)
{

@ -39,7 +39,7 @@ namespace Sonarr.Api.V3
Tags = definition.Tags,
Fields = SchemaBuilder.ToSchema(definition.Settings),
InfoLink = string.Format("https://wiki.servarr.com/Sonarr_Supported_{0}",
InfoLink = string.Format("https://wiki.servarr.com/sonarr/supported-{0}",
typeof(TProviderResource).Name.Replace("Resource", "s"),
definition.Implementation.ToLower())
};

Loading…
Cancel
Save