From 953b324df95bb6762f78cf65e4a47509f1318bba Mon Sep 17 00:00:00 2001 From: Qstick Date: Wed, 12 May 2021 23:11:58 -0400 Subject: [PATCH] wiki updates --- .../FileBrowser/FileBrowserModalContent.js | 4 +- .../src/Settings/General/UpdateSettings.js | 4 +- .../Notifications/NotificationEventItems.js | 4 +- .../Selectors/createHealthCheckSelector.js | 5 +- .../src/System/Status/MoreInfo/MoreInfo.js | 4 +- frontend/src/login.html | 2 +- .../HealthCheck/Checks/MonoDebugFixture.cs | 63 --------------- .../Checks/MonoNotNetCoreCheckFixture.cs | 42 ---------- .../Checks/MonoVersionCheckFixture.cs | 81 ------------------- .../HealthCheck/HealthCheckFixture.cs | 8 +- src/NzbDrone.Core/Datastore/DbFactory.cs | 4 +- .../Checks/ApplicationStatusCheck.cs | 4 +- .../Checks/IndexerLongTermStatusCheck.cs | 4 +- .../HealthCheck/Checks/IndexerStatusCheck.cs | 4 +- .../HealthCheck/Checks/MonoDebugCheck.cs | 49 ----------- .../HealthCheck/Checks/MonoNotNetCoreCheck.cs | 54 ------------- .../HealthCheck/Checks/MonoTlsCheck.cs | 46 ----------- .../HealthCheck/Checks/MonoVersionCheck.cs | 76 ----------------- .../HealthCheck/Checks/NewznabVIPCheck.cs | 4 +- .../Checks/OutdatedDefinitionCheck.cs | 2 +- .../HealthCheck/Checks/ReleaseBranchCheck.cs | 4 +- .../HealthCheck/Checks/UpdateCheck.cs | 6 +- src/NzbDrone.Core/HealthCheck/HealthCheck.cs | 6 +- .../CustomScript/CustomScript.cs | 2 +- .../Notifications/Twitter/TwitterSettings.cs | 4 +- .../Notifications/Webhook/Webhook.cs | 2 +- src/Prowlarr.Api.V1/ProviderResource.cs | 4 +- src/Prowlarr.Api.V1/swagger.json | 4 +- src/Radarr.Api.V3/Update/UpdateResource.cs | 58 ------------- 29 files changed, 44 insertions(+), 510 deletions(-) delete mode 100644 src/NzbDrone.Core.Test/HealthCheck/Checks/MonoDebugFixture.cs delete mode 100644 src/NzbDrone.Core.Test/HealthCheck/Checks/MonoNotNetCoreCheckFixture.cs delete mode 100644 src/NzbDrone.Core.Test/HealthCheck/Checks/MonoVersionCheckFixture.cs delete mode 100644 src/NzbDrone.Core/HealthCheck/Checks/MonoDebugCheck.cs delete mode 100644 src/NzbDrone.Core/HealthCheck/Checks/MonoNotNetCoreCheck.cs delete mode 100644 src/NzbDrone.Core/HealthCheck/Checks/MonoTlsCheck.cs delete mode 100644 src/NzbDrone.Core/HealthCheck/Checks/MonoVersionCheck.cs delete mode 100644 src/Radarr.Api.V3/Update/UpdateResource.cs diff --git a/frontend/src/Components/FileBrowser/FileBrowserModalContent.js b/frontend/src/Components/FileBrowser/FileBrowserModalContent.js index a6a45592e..f59cb41ef 100644 --- a/frontend/src/Components/FileBrowser/FileBrowserModalContent.js +++ b/frontend/src/Components/FileBrowser/FileBrowserModalContent.js @@ -129,7 +129,9 @@ class FileBrowserModalContent extends Component { className={styles.mappedDrivesWarning} kind={kinds.WARNING} > - Mapped network drives are not available when running as a Windows Service, see the FAQ for more information. + + {translate('MappedDrivesRunningAsService')} + } diff --git a/frontend/src/Settings/General/UpdateSettings.js b/frontend/src/Settings/General/UpdateSettings.js index 3c5ab6891..d5ed33ef3 100644 --- a/frontend/src/Settings/General/UpdateSettings.js +++ b/frontend/src/Settings/General/UpdateSettings.js @@ -55,7 +55,7 @@ function UpdateSettings(props) { type={inputTypes.TEXT} name="branch" helpText={usingExternalUpdateMechanism ? translate('BranchUpdateMechanism') : translate('BranchUpdate')} - helpLink="https://github.com/Prowlarr/Prowlarr/wiki/Release-Branches" + helpLink="https://wiki.servarr.com/Prowlarr_Settings#Updates" {...branch} onChange={onInputChange} readOnly={usingExternalUpdateMechanism} @@ -92,7 +92,7 @@ function UpdateSettings(props) { name="updateMechanism" values={updateOptions} helpText={translate('UpdateMechanismHelpText')} - helpLink="https://github.com/Prowlarr/Prowlarr/wiki/Updating" + helpLink="https://wiki.servarr.com/Prowlarr_Settings#Updates" onChange={onInputChange} {...updateMechanism} /> diff --git a/frontend/src/Settings/Notifications/Notifications/NotificationEventItems.js b/frontend/src/Settings/Notifications/Notifications/NotificationEventItems.js index 3b93fe91a..ecd9e7081 100644 --- a/frontend/src/Settings/Notifications/Notifications/NotificationEventItems.js +++ b/frontend/src/Settings/Notifications/Notifications/NotificationEventItems.js @@ -25,8 +25,8 @@ function NotificationEventItems(props) { {translate('NotificationTriggers')}
diff --git a/frontend/src/Store/Selectors/createHealthCheckSelector.js b/frontend/src/Store/Selectors/createHealthCheckSelector.js index b9d03f9a4..ed41ef2ec 100644 --- a/frontend/src/Store/Selectors/createHealthCheckSelector.js +++ b/frontend/src/Store/Selectors/createHealthCheckSelector.js @@ -1,4 +1,5 @@ import { createSelector } from 'reselect'; +import translate from 'Utilities/String/translate'; function createHealthCheckSelector() { return createSelector( @@ -11,8 +12,8 @@ function createHealthCheckSelector() { items.push({ source: 'UI', type: 'warning', - message: 'Could not connect to SignalR, UI won\'t update', - wikiUrl: 'https://github.com/Prowlarr/Prowlarr/wiki/Health-Checks#could-not-connect-to-signalr' + message: translate('CouldNotConnectSignalR'), + wikiUrl: 'https://wiki.servarr.com/Prowlarr_System#Could_not_connect_to_signalR' }); } diff --git a/frontend/src/System/Status/MoreInfo/MoreInfo.js b/frontend/src/System/Status/MoreInfo/MoreInfo.js index 1546a89bd..99f70da5b 100644 --- a/frontend/src/System/Status/MoreInfo/MoreInfo.js +++ b/frontend/src/System/Status/MoreInfo/MoreInfo.js @@ -22,12 +22,12 @@ class MoreInfo extends Component { Discord - discord.gg/r5wJPt9 + prowlarr.com/discord Wiki - github.com/Prowlarr/Prowlarr/wiki + wiki.servarr.com/Prowlarr Donations diff --git a/frontend/src/login.html b/frontend/src/login.html index 1c1ed00d6..6fff481f9 100644 --- a/frontend/src/login.html +++ b/frontend/src/login.html @@ -251,7 +251,7 @@ Forgot your password? diff --git a/src/NzbDrone.Core.Test/HealthCheck/Checks/MonoDebugFixture.cs b/src/NzbDrone.Core.Test/HealthCheck/Checks/MonoDebugFixture.cs deleted file mode 100644 index 765dc95b8..000000000 --- a/src/NzbDrone.Core.Test/HealthCheck/Checks/MonoDebugFixture.cs +++ /dev/null @@ -1,63 +0,0 @@ -using NUnit.Framework; -using NzbDrone.Common.EnvironmentInfo; -using NzbDrone.Core.HealthCheck.Checks; -using NzbDrone.Core.Test.Framework; -using NzbDrone.Test.Common; -using static NzbDrone.Core.HealthCheck.Checks.MonoDebugCheck; - -namespace NzbDrone.Core.Test.HealthCheck.Checks -{ - [TestFixture] - public class MonoDebugFixture : CoreTest - { - private void GivenHasStackFrame(bool hasStackFrame) - { - Mocker.GetMock() - .Setup(f => f.HasStackFrameInfo()) - .Returns(hasStackFrame); - } - - [Test] - public void should_return_ok_if_not_mono() - { - if (PlatformInfo.IsMono) - { - throw new IgnoreException("non mono specific test"); - } - - Subject.Check().ShouldBeOk(); - } - - [Test] - public void should_return_ok_if_not_debug() - { - MonoOnly(); - - GivenHasStackFrame(false); - - Subject.Check().ShouldBeOk(); - } - - [Test] - public void should_log_warning_if_not_debug() - { - MonoOnly(); - - GivenHasStackFrame(false); - - Subject.Check(); - - ExceptionVerification.ExpectedWarns(1); - } - - [Test] - public void should_return_ok_if_debug() - { - MonoOnly(); - - GivenHasStackFrame(true); - - Subject.Check().ShouldBeOk(); - } - } -} diff --git a/src/NzbDrone.Core.Test/HealthCheck/Checks/MonoNotNetCoreCheckFixture.cs b/src/NzbDrone.Core.Test/HealthCheck/Checks/MonoNotNetCoreCheckFixture.cs deleted file mode 100644 index 991040b35..000000000 --- a/src/NzbDrone.Core.Test/HealthCheck/Checks/MonoNotNetCoreCheckFixture.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System.Collections.Generic; -using NUnit.Framework; -using NzbDrone.Common.Processes; -using NzbDrone.Core.HealthCheck.Checks; -using NzbDrone.Core.Test.Framework; - -namespace NzbDrone.Core.Test.HealthCheck.Checks -{ - [TestFixture] - public class MonoNotNetCoreCheckFixture : CoreTest - { - [Test] - [Platform(Exclude = "Mono")] - public void should_return_ok_if_net_core() - { - Subject.Check().ShouldBeOk(); - } - - [Test] - [Platform("Mono")] - public void should_log_warning_if_mono() - { - Subject.Check().ShouldBeWarning(); - } - - [Test] - [Platform("Mono")] - public void should_return_ok_if_bsd() - { - Mocker.GetMock() - .Setup(x => x.StartAndCapture("uname", null, null)) - .Returns(new ProcessOutput - { - Lines = new List - { - new ProcessOutputLine(ProcessOutputLevel.Standard, "FreeBSD") - } - }); - Subject.Check().ShouldBeOk(); - } - } -} diff --git a/src/NzbDrone.Core.Test/HealthCheck/Checks/MonoVersionCheckFixture.cs b/src/NzbDrone.Core.Test/HealthCheck/Checks/MonoVersionCheckFixture.cs deleted file mode 100644 index 74d0bace8..000000000 --- a/src/NzbDrone.Core.Test/HealthCheck/Checks/MonoVersionCheckFixture.cs +++ /dev/null @@ -1,81 +0,0 @@ -using System; -using Moq; -using NUnit.Framework; -using NzbDrone.Common.EnvironmentInfo; -using NzbDrone.Core.HealthCheck.Checks; -using NzbDrone.Core.Localization; -using NzbDrone.Core.Test.Framework; - -namespace NzbDrone.Core.Test.HealthCheck.Checks -{ - [TestFixture] - public class MonoVersionCheckFixture : CoreTest - { - [SetUp] - public void Setup() - { - Mocker.GetMock() - .Setup(s => s.GetLocalizedString(It.IsAny())) - .Returns("Some Warning Message"); - } - - private void GivenOutput(string version) - { - MonoOnly(); - - Mocker.GetMock() - .SetupGet(s => s.Version) - .Returns(new Version(version)); - } - - [TestCase("5.18")] - [TestCase("5.20")] - [TestCase("6.4")] - public void should_return_ok(string version) - { - GivenOutput(version); - - Subject.Check().ShouldBeOk(); - } - - public void should_return_notice(string version) - { - GivenOutput(version); - - Subject.Check().ShouldBeNotice(); - } - - public void should_return_warning(string version) - { - GivenOutput(version); - - Subject.Check().ShouldBeWarning(); - } - - [TestCase("2.10.2")] - [TestCase("2.10.8.1")] - [TestCase("3.0.0.1")] - [TestCase("3.2.0.1")] - [TestCase("3.2.1")] - [TestCase("3.2.7")] - [TestCase("3.6.1")] - [TestCase("3.8")] - [TestCase("3.10")] - [TestCase("4.0.0.0")] - [TestCase("4.2")] - [TestCase("4.4.0")] - [TestCase("4.4.1")] - [TestCase("5.4")] - [TestCase("5.8")] - [TestCase("5.10")] - [TestCase("5.12")] - [TestCase("5.14")] - [TestCase("5.16")] - public void should_return_error(string version) - { - GivenOutput(version); - - Subject.Check().ShouldBeError(); - } - } -} diff --git a/src/NzbDrone.Core.Test/HealthCheck/HealthCheckFixture.cs b/src/NzbDrone.Core.Test/HealthCheck/HealthCheckFixture.cs index e3a326164..5ebe4687c 100644 --- a/src/NzbDrone.Core.Test/HealthCheck/HealthCheckFixture.cs +++ b/src/NzbDrone.Core.Test/HealthCheck/HealthCheckFixture.cs @@ -8,11 +8,11 @@ namespace NzbDrone.Core.Test.HealthCheck [TestFixture] public class HealthCheckFixture : CoreTest { - private const string WikiRoot = "https://github.com/Prowlarr/Prowlarr/wiki/"; + private const string WikiRoot = "https://wiki.servarr.com/"; - [TestCase("I blew up because of some weird user mistake", null, WikiRoot + "Health-checks#i-blew-up-because-of-some-weird-user-mistake")] - [TestCase("I blew up because of some weird user mistake", "#my-health-check", WikiRoot + "Health-checks#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 + "Prowlarr_System#i_blew_up_because_of_some_weird_user_mistake")] + [TestCase("I blew up because of some weird user mistake", "#my_health_check", WikiRoot + "Prowlarr_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); diff --git a/src/NzbDrone.Core/Datastore/DbFactory.cs b/src/NzbDrone.Core/Datastore/DbFactory.cs index 86ebe855a..c17e28443 100644 --- a/src/NzbDrone.Core/Datastore/DbFactory.cs +++ b/src/NzbDrone.Core/Datastore/DbFactory.cs @@ -108,10 +108,10 @@ namespace NzbDrone.Core.Datastore if (OsInfo.IsOsx) { - throw new CorruptDatabaseException("Database file: {0} is corrupt, restore from backup if available. See: https://github.com/Prowlarr/Prowlarr/wiki/FAQ#i-use-prowlarr-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/Prowlarr_FAQ#I_use_Prowlarr_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://github.com/Prowlarr/Prowlarr/wiki/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/Prowlarr_FAQ#I_am_getting_an_error_Database_disk_image_is_malformed", e, fileName); } catch (Exception e) { diff --git a/src/NzbDrone.Core/HealthCheck/Checks/ApplicationStatusCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/ApplicationStatusCheck.cs index 2f7c76dfe..86db7004c 100644 --- a/src/NzbDrone.Core/HealthCheck/Checks/ApplicationStatusCheck.cs +++ b/src/NzbDrone.Core/HealthCheck/Checks/ApplicationStatusCheck.cs @@ -44,14 +44,14 @@ namespace NzbDrone.Core.HealthCheck.Checks return new HealthCheck(GetType(), HealthCheckResult.Error, _localizationService.GetLocalizedString("ApplicationStatusCheckAllClientMessage"), - "#applications-are-unavailable-due-to-failures"); + "#applications_are_unavailable_due_to_failures"); } return new HealthCheck(GetType(), HealthCheckResult.Warning, string.Format(_localizationService.GetLocalizedString("ApplicationStatusCheckSingleClientMessage"), string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name))), - "#applications-are-unavailable-due-to-failures"); + "#applications_are_unavailable_due_to_failures"); } } } diff --git a/src/NzbDrone.Core/HealthCheck/Checks/IndexerLongTermStatusCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/IndexerLongTermStatusCheck.cs index 9ba7ffd1c..8b3bfaf46 100644 --- a/src/NzbDrone.Core/HealthCheck/Checks/IndexerLongTermStatusCheck.cs +++ b/src/NzbDrone.Core/HealthCheck/Checks/IndexerLongTermStatusCheck.cs @@ -46,14 +46,14 @@ namespace NzbDrone.Core.HealthCheck.Checks return new HealthCheck(GetType(), HealthCheckResult.Error, _localizationService.GetLocalizedString("IndexerLongTermStatusCheckAllClientMessage"), - "#indexers-are-unavailable-due-to-failures"); + "#indexers_are_unavailable_due_to_failures"); } return new HealthCheck(GetType(), HealthCheckResult.Warning, string.Format(_localizationService.GetLocalizedString("IndexerLongTermStatusCheckSingleClientMessage"), string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name))), - "#indexers-are-unavailable-due-to-failures"); + "#indexers_are_unavailable_due_to_failures"); } } } diff --git a/src/NzbDrone.Core/HealthCheck/Checks/IndexerStatusCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/IndexerStatusCheck.cs index f7d6ee541..19bc546be 100644 --- a/src/NzbDrone.Core/HealthCheck/Checks/IndexerStatusCheck.cs +++ b/src/NzbDrone.Core/HealthCheck/Checks/IndexerStatusCheck.cs @@ -44,14 +44,14 @@ namespace NzbDrone.Core.HealthCheck.Checks return new HealthCheck(GetType(), HealthCheckResult.Error, _localizationService.GetLocalizedString("IndexerStatusCheckAllClientMessage"), - "#indexers-are-unavailable-due-to-failures"); + "#indexers_are_unavailable_due_to_failures"); } return new HealthCheck(GetType(), HealthCheckResult.Warning, string.Format(_localizationService.GetLocalizedString("IndexerStatusCheckSingleClientMessage"), string.Join(", ", backOffProviders.Select(v => v.Provider.Definition.Name))), - "#indexers-are-unavailable-due-to-failures"); + "#indexers_are_unavailable_due_to_failures"); } } } diff --git a/src/NzbDrone.Core/HealthCheck/Checks/MonoDebugCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/MonoDebugCheck.cs deleted file mode 100644 index bb0a96c70..000000000 --- a/src/NzbDrone.Core/HealthCheck/Checks/MonoDebugCheck.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System.Diagnostics; -using NLog; -using NzbDrone.Common.EnvironmentInfo; -using NzbDrone.Common.Extensions; -using NzbDrone.Core.Localization; - -namespace NzbDrone.Core.HealthCheck.Checks -{ - public class MonoDebugCheck : HealthCheckBase - { - private readonly Logger _logger; - private readonly StackFrameHelper _stackFrameHelper; - - public override bool CheckOnSchedule => false; - - public MonoDebugCheck(Logger logger, StackFrameHelper stackFrameHelper, ILocalizationService localizationService) - : base(localizationService) - { - _logger = logger; - _stackFrameHelper = stackFrameHelper; - } - - public class StackFrameHelper - { - public virtual bool HasStackFrameInfo() - { - var stackTrace = new StackTrace(true); - - return stackTrace.FrameCount > 0 && stackTrace.GetFrame(0).GetFileName().IsNotNullOrWhiteSpace(); - } - } - - public override HealthCheck Check() - { - if (!PlatformInfo.IsMono) - { - return new HealthCheck(GetType()); - } - - if (!_stackFrameHelper.HasStackFrameInfo()) - { - _logger.Warn("Mono is not running with --debug switch"); - return new HealthCheck(GetType()); - } - - return new HealthCheck(GetType()); - } - } -} diff --git a/src/NzbDrone.Core/HealthCheck/Checks/MonoNotNetCoreCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/MonoNotNetCoreCheck.cs deleted file mode 100644 index 3855dee3b..000000000 --- a/src/NzbDrone.Core/HealthCheck/Checks/MonoNotNetCoreCheck.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System.Linq; -using System.Runtime.InteropServices; -using NLog; -using NzbDrone.Common.EnvironmentInfo; -using NzbDrone.Common.Processes; -using NzbDrone.Core.Localization; - -namespace NzbDrone.Core.HealthCheck.Checks -{ - public class MonoNotNetCoreCheck : HealthCheckBase - { - private static string[] MonoUnames = new string[] { "FreeBSD", "OpenBSD", "MidnightBSD", "NetBSD" }; - private readonly IOsInfo _osInfo; - private readonly IProcessProvider _processProvider; - - public MonoNotNetCoreCheck(IOsInfo osInfo, - IProcessProvider processProvider, - ILocalizationService localizationService, - Logger logger) - : base(localizationService) - { - _osInfo = osInfo; - _processProvider = processProvider; - } - - public override HealthCheck Check() - { - if (!PlatformInfo.IsMono) - { - return new HealthCheck(GetType()); - } - - // Don't warn on arm based synology - could be arm5 or something else rubbish - if (_osInfo.Name == "DSM" && RuntimeInformation.ProcessArchitecture == Architecture.Arm) - { - return new HealthCheck(GetType()); - } - - // Check for BSD - var output = _processProvider.StartAndCapture("uname"); - if (output?.ExitCode == 0 && MonoUnames.Contains(output?.Lines.First().Content)) - { - return new HealthCheck(GetType()); - } - - return new HealthCheck(GetType(), - HealthCheckResult.Warning, - _localizationService.GetLocalizedString("MonoNotNetCoreCheckMessage"), - "#update-to-net-core-version"); - } - - public override bool CheckOnSchedule => false; - } -} diff --git a/src/NzbDrone.Core/HealthCheck/Checks/MonoTlsCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/MonoTlsCheck.cs deleted file mode 100644 index 2284ab3a5..000000000 --- a/src/NzbDrone.Core/HealthCheck/Checks/MonoTlsCheck.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using NLog; -using NLog.Fluent; -using NzbDrone.Common.EnvironmentInfo; -using NzbDrone.Common.Instrumentation.Extensions; -using NzbDrone.Core.Localization; - -namespace NzbDrone.Core.HealthCheck.Checks -{ - public class MonoTlsCheck : HealthCheckBase - { - private readonly IPlatformInfo _platformInfo; - private readonly Logger _logger; - - public MonoTlsCheck(IPlatformInfo platformInfo, ILocalizationService localizationService, Logger logger) - : base(localizationService) - { - _platformInfo = platformInfo; - _logger = logger; - } - - public override HealthCheck Check() - { - if (!PlatformInfo.IsMono) - { - return new HealthCheck(GetType()); - } - - var monoVersion = _platformInfo.Version; - - if (monoVersion >= new Version("5.8.0") && Environment.GetEnvironmentVariable("MONO_TLS_PROVIDER") == "legacy") - { - _logger.Debug() - .Message("Mono version {0} and legacy TLS provider is selected, recommending user to switch to btls.", monoVersion) - .WriteSentryDebug("LegacyTlsProvider", monoVersion.ToString()) - .Write(); - - return new HealthCheck(GetType(), HealthCheckResult.Warning, _localizationService.GetLocalizedString("MonoTlsCheckMessage")); - } - - return new HealthCheck(GetType()); - } - - public override bool CheckOnSchedule => false; - } -} diff --git a/src/NzbDrone.Core/HealthCheck/Checks/MonoVersionCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/MonoVersionCheck.cs deleted file mode 100644 index c0f2d93ac..000000000 --- a/src/NzbDrone.Core/HealthCheck/Checks/MonoVersionCheck.cs +++ /dev/null @@ -1,76 +0,0 @@ -using System; -using NLog; -using NzbDrone.Common.EnvironmentInfo; -using NzbDrone.Core.Localization; - -namespace NzbDrone.Core.HealthCheck.Checks -{ - public class MonoVersionCheck : HealthCheckBase - { - private readonly IPlatformInfo _platformInfo; - private readonly Logger _logger; - - public MonoVersionCheck(IPlatformInfo platformInfo, ILocalizationService localizationService, Logger logger) - : base(localizationService) - { - _platformInfo = platformInfo; - _logger = logger; - } - - public override HealthCheck Check() - { - if (!PlatformInfo.IsMono) - { - return new HealthCheck(GetType()); - } - - var monoVersion = _platformInfo.Version; - - // Known buggy Mono versions - if (monoVersion == new Version("4.4.0") || monoVersion == new Version("4.4.1")) - { - _logger.Debug("Mono version {0}", monoVersion); - return new HealthCheck(GetType(), - HealthCheckResult.Error, - $"Currently installed Mono version {monoVersion} has a bug that causes issues connecting to indexers/download clients. You should upgrade to a higher version", - "#currently-installed-mono-version-is-old-and-unsupported"); - } - - // Currently best stable Mono version (5.18 gets us .net 4.7.2 support) - var bestVersion = new Version("5.20"); - var targetVersion = new Version("5.18"); - if (monoVersion >= targetVersion) - { - _logger.Debug("Mono version is {0} or better: {1}", targetVersion, monoVersion); - return new HealthCheck(GetType()); - } - - // Stable Mono versions - var stableVersion = new Version("5.18"); - if (monoVersion >= stableVersion) - { - _logger.Debug("Mono version is {0} or better: {1}", stableVersion, monoVersion); - return new HealthCheck(GetType(), - HealthCheckResult.Notice, - string.Format(_localizationService.GetLocalizedString("MonoVersionCheckUpgradeRecommendedMessage"), monoVersion, bestVersion), - "#currently-installed-mono-version-is-supported-but-upgrading-is-recommended"); - } - - var oldVersion = new Version("5.4"); - if (monoVersion >= oldVersion) - { - return new HealthCheck(GetType(), - HealthCheckResult.Error, - string.Format(_localizationService.GetLocalizedString("MonoVersionCheckUpgradeRecommendedMessage"), monoVersion, bestVersion), - "#currently-installed-mono-version-is-old-and-unsupported"); - } - - return new HealthCheck(GetType(), - HealthCheckResult.Error, - string.Format(_localizationService.GetLocalizedString("MonoVersionCheckUpgradeRecommendedMessage"), monoVersion, bestVersion), - "#currently-installed-mono-version-is-old-and-unsupported"); - } - - public override bool CheckOnSchedule => false; - } -} diff --git a/src/NzbDrone.Core/HealthCheck/Checks/NewznabVIPCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/NewznabVIPCheck.cs index b832ce295..063c0edd4 100644 --- a/src/NzbDrone.Core/HealthCheck/Checks/NewznabVIPCheck.cs +++ b/src/NzbDrone.Core/HealthCheck/Checks/NewznabVIPCheck.cs @@ -55,7 +55,7 @@ namespace NzbDrone.Core.HealthCheck.Checks HealthCheckResult.Warning, string.Format(_localizationService.GetLocalizedString("NewznabVipCheckExpiringClientMessage"), string.Join(", ", expiringProviders.Select(v => v.Definition.Name))), - "#newznab-vip-expiring"); + "#newznab_vip_expiring"); } if (!expiredProviders.Empty()) @@ -64,7 +64,7 @@ namespace NzbDrone.Core.HealthCheck.Checks HealthCheckResult.Warning, string.Format(_localizationService.GetLocalizedString("NewznabVipCheckExpiredClientMessage"), string.Join(", ", expiredProviders.Select(v => v.Definition.Name))), - "#newznab-vip-expired"); + "#newznab_vip_expired"); } return new HealthCheck(GetType()); diff --git a/src/NzbDrone.Core/HealthCheck/Checks/OutdatedDefinitionCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/OutdatedDefinitionCheck.cs index dd71e080a..5fb0fc58c 100644 --- a/src/NzbDrone.Core/HealthCheck/Checks/OutdatedDefinitionCheck.cs +++ b/src/NzbDrone.Core/HealthCheck/Checks/OutdatedDefinitionCheck.cs @@ -38,7 +38,7 @@ namespace NzbDrone.Core.HealthCheck.Checks HealthCheckResult.Warning, string.Format(_localizationService.GetLocalizedString("IndexerObsoleteCheckMessage"), string.Join(", ", oldIndexers.Select(v => v.Name))), - "#indexers-are-obsolete"); + "#indexers_are_obsolete"); } public override bool CheckOnSchedule => false; diff --git a/src/NzbDrone.Core/HealthCheck/Checks/ReleaseBranchCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/ReleaseBranchCheck.cs index eca2d1fe1..fd20cff91 100644 --- a/src/NzbDrone.Core/HealthCheck/Checks/ReleaseBranchCheck.cs +++ b/src/NzbDrone.Core/HealthCheck/Checks/ReleaseBranchCheck.cs @@ -25,10 +25,10 @@ namespace NzbDrone.Core.HealthCheck.Checks { if (currentBranch == "develop") { - return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("ReleaseBranchCheckPreviousVersionMessage"), _configFileService.Branch), "#branch-is-for-a-previous-version"); + return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("ReleaseBranchCheckPreviousVersionMessage"), _configFileService.Branch), "#branch_is_for_a_previous_version"); } - return new HealthCheck(GetType(), HealthCheckResult.Warning, string.Format(_localizationService.GetLocalizedString("ReleaseBranchCheckOfficialBranchMessage"), _configFileService.Branch), "#branch-is-not-a-valid-release-branch"); + return new HealthCheck(GetType(), HealthCheckResult.Warning, string.Format(_localizationService.GetLocalizedString("ReleaseBranchCheckOfficialBranchMessage"), _configFileService.Branch), "#branch_is_not_a_valid_release_branch"); } return new HealthCheck(GetType()); diff --git a/src/NzbDrone.Core/HealthCheck/Checks/UpdateCheck.cs b/src/NzbDrone.Core/HealthCheck/Checks/UpdateCheck.cs index b012d5c17..a9545d718 100644 --- a/src/NzbDrone.Core/HealthCheck/Checks/UpdateCheck.cs +++ b/src/NzbDrone.Core/HealthCheck/Checks/UpdateCheck.cs @@ -48,7 +48,7 @@ namespace NzbDrone.Core.HealthCheck.Checks return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("UpdateCheckStartupTranslocationMessage"), 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)) @@ -56,7 +56,7 @@ namespace NzbDrone.Core.HealthCheck.Checks return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("UpdateCheckStartupNotWritableMessage"), 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)) @@ -64,7 +64,7 @@ namespace NzbDrone.Core.HealthCheck.Checks return new HealthCheck(GetType(), HealthCheckResult.Error, string.Format(_localizationService.GetLocalizedString("UpdateCheckUINotWritableMessage"), 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"); } } diff --git a/src/NzbDrone.Core/HealthCheck/HealthCheck.cs b/src/NzbDrone.Core/HealthCheck/HealthCheck.cs index 7c24203e0..ac30d8a68 100644 --- a/src/NzbDrone.Core/HealthCheck/HealthCheck.cs +++ b/src/NzbDrone.Core/HealthCheck/HealthCheck.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Text.RegularExpressions; using NzbDrone.Common.Http; using NzbDrone.Core.Datastore; @@ -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://github.com/Prowlarr/Prowlarr/wiki/Health-checks") + new HttpUri(fragment); + return new HttpUri("https://wiki.servarr.com/Prowlarr_System#") + new HttpUri(fragment); } } diff --git a/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs b/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs index b954697c2..b2f9c69f2 100755 --- a/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs +++ b/src/NzbDrone.Core/Notifications/CustomScript/CustomScript.cs @@ -27,7 +27,7 @@ namespace NzbDrone.Core.Notifications.CustomScript public override string Name => "Custom Script"; - public override string Link => "https://github.com/Prowlarr/Prowlarr/wiki/Custom-Post-Processing-Scripts"; + public override string Link => "https://wiki.servarr.com/Prowlarr_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); diff --git a/src/NzbDrone.Core/Notifications/Twitter/TwitterSettings.cs b/src/NzbDrone.Core/Notifications/Twitter/TwitterSettings.cs index caa15776d..962a69afe 100644 --- a/src/NzbDrone.Core/Notifications/Twitter/TwitterSettings.cs +++ b/src/NzbDrone.Core/Notifications/Twitter/TwitterSettings.cs @@ -38,10 +38,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://github.com/Prowlarr/Prowlarr/wiki/Twitter-Notifications")] + [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://github.com/Prowlarr/Prowlarr/wiki/Twitter-Notifications")] + [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)] diff --git a/src/NzbDrone.Core/Notifications/Webhook/Webhook.cs b/src/NzbDrone.Core/Notifications/Webhook/Webhook.cs index d64ef8664..bc7fc27b2 100755 --- a/src/NzbDrone.Core/Notifications/Webhook/Webhook.cs +++ b/src/NzbDrone.Core/Notifications/Webhook/Webhook.cs @@ -14,7 +14,7 @@ namespace NzbDrone.Core.Notifications.Webhook _proxy = proxy; } - public override string Link => "https://github.com/Prowlarr/Prowlarr/wiki/Webhook"; + public override string Link => "https://wiki.servarr.com/Prowlarr_Settings#Connect"; public override void OnHealthIssue(HealthCheck.HealthCheck healthCheck) { diff --git a/src/Prowlarr.Api.V1/ProviderResource.cs b/src/Prowlarr.Api.V1/ProviderResource.cs index abc09e2c9..a394aa174 100644 --- a/src/Prowlarr.Api.V1/ProviderResource.cs +++ b/src/Prowlarr.Api.V1/ProviderResource.cs @@ -38,8 +38,8 @@ namespace Prowlarr.Api.V1 Tags = definition.Tags, Fields = SchemaBuilder.ToSchema(definition.Settings), - InfoLink = string.Format("https://github.com/Prowlarr/Prowlarr/wiki/Supported-{0}#{1}", - typeof(TProviderResource).Name.Replace("Resource", "s"), + //Radarr_Supported_{0} are custom build redirect pages; if passing a new var, create a new redirect + InfoLink = string.Format("https://wiki.servarr.com/Prowlarr_Supported_{0}", definition.Implementation.ToLower()) }; } diff --git a/src/Prowlarr.Api.V1/swagger.json b/src/Prowlarr.Api.V1/swagger.json index 8d70d9764..02115b374 100644 --- a/src/Prowlarr.Api.V1/swagger.json +++ b/src/Prowlarr.Api.V1/swagger.json @@ -766,13 +766,13 @@ "source": "ImportMechanismCheck", "type": "warning", "message": "Enable Completed Download Handling", - "wikiUrl": "https://github.com/Prowlarr/Prowlarr/wiki/Health-checks#enable-completed-download-handling" + "wikiUrl": "https://wiki.servarr.com/Prowlarr_System#Completed.2FFailed_Download_Handling" }, { "source": "DownloadClientCheck", "type": "error", "message": "Unable to communicate with qBittorrent. Failed to connect to qBittorrent, check your settings.", - "wikiUrl": "https://github.com/Prowlarr/Prowlarr/wiki/Health-checks#unable-to-communicate-with-download-client" + "wikiUrl": "https://wiki.servarr.com/Prowlarr_System#Download_Clients" } ] } diff --git a/src/Radarr.Api.V3/Update/UpdateResource.cs b/src/Radarr.Api.V3/Update/UpdateResource.cs deleted file mode 100644 index 365619a88..000000000 --- a/src/Radarr.Api.V3/Update/UpdateResource.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Newtonsoft.Json; -using NzbDrone.Core.Update; -using Radarr.Http.REST; - -namespace Radarr.Api.V3.Update -{ - public class UpdateResource : RestResource - { - [JsonConverter(typeof(Newtonsoft.Json.Converters.VersionConverter))] - public Version Version { get; set; } - - public string Branch { get; set; } - public DateTime ReleaseDate { get; set; } - public string FileName { get; set; } - public string Url { get; set; } - public bool Installed { get; set; } - public DateTime? InstalledOn { get; set; } - public bool Installable { get; set; } - public bool Latest { get; set; } - public UpdateChanges Changes { get; set; } - public string Hash { get; set; } - } - - public static class UpdateResourceMapper - { - public static UpdateResource ToResource(this UpdatePackage model) - { - if (model == null) - { - return null; - } - - return new UpdateResource - { - Version = model.Version, - - Branch = model.Branch, - ReleaseDate = model.ReleaseDate, - FileName = model.FileName, - Url = model.Url, - - //Installed - //Installable - //Latest - Changes = model.Changes, - Hash = model.Hash, - }; - } - - public static List ToResource(this IEnumerable models) - { - return models.Select(ToResource).ToList(); - } - } -}