From d854845d17948e775b779a3fe0cfa95cade181ed Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Wed, 6 Jan 2021 06:02:12 -0700 Subject: [PATCH] Small downloader fixes --- CHANGELOG.md | 2 ++ Wabbajack.Lib/Downloaders/AbstractNeedsLoginDownloader.cs | 2 +- Wabbajack.Lib/Downloaders/NexusDownloader.cs | 7 +++---- Wabbajack.Lib/NexusApi/NexusApi.cs | 4 +--- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e363207c..e525548e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ * Origin is now supported as a game source * Basic (mostly untested) support for Dragon Age : Origins * Replace RocksDB with SQLite should result in less process contention when running the UI and the CLI at the same time +* Fixed Regression with CloudFront IPS4 sites not requesting logins before installation +* Fixed regression that caused us to spam the Nexus with verify calls #### Version - 2.3.6.2 - 12/31/2020 * HOTFIX: Also apply the IPS4 changes to LL Meta lookups diff --git a/Wabbajack.Lib/Downloaders/AbstractNeedsLoginDownloader.cs b/Wabbajack.Lib/Downloaders/AbstractNeedsLoginDownloader.cs index 582d5eaf..86c1125e 100644 --- a/Wabbajack.Lib/Downloaders/AbstractNeedsLoginDownloader.cs +++ b/Wabbajack.Lib/Downloaders/AbstractNeedsLoginDownloader.cs @@ -92,7 +92,7 @@ namespace Wabbajack.Lib.Downloaders public async Task GetAuthedClient() { Helpers.Cookie[] cookies; - if (Consts.IsServer) + if (Consts.IsServer || IsCloudFlareProtected) { try { diff --git a/Wabbajack.Lib/Downloaders/NexusDownloader.cs b/Wabbajack.Lib/Downloaders/NexusDownloader.cs index 7ed1e7c0..723d9091 100644 --- a/Wabbajack.Lib/Downloaders/NexusDownloader.cs +++ b/Wabbajack.Lib/Downloaders/NexusDownloader.cs @@ -66,7 +66,7 @@ namespace Wabbajack.Lib.Downloaders }; } - var client = await NexusApiClient.Get(); + var client = DownloadDispatcher.GetInstance().Client ?? await NexusApiClient.Get(); ModInfo info; try { @@ -198,8 +198,7 @@ namespace Wabbajack.Lib.Downloaders string url; try { - var client = await NexusApiClient.Get(); - url = await client.GetNexusDownloadLink(this); + url = await DownloadDispatcher.GetInstance().Client!.GetNexusDownloadLink(this); } catch (NexusAPIQuotaExceeded ex) { @@ -218,7 +217,7 @@ namespace Wabbajack.Lib.Downloaders { try { - var client = await NexusApiClient.Get(); + var client = DownloadDispatcher.GetInstance().Client!; var modInfo = await client.GetModInfo(Game, ModID); if (!modInfo.available) return false; var modFiles = await client.GetModFiles(Game, ModID); diff --git a/Wabbajack.Lib/NexusApi/NexusApi.cs b/Wabbajack.Lib/NexusApi/NexusApi.cs index 842dd36a..4e500dd7 100644 --- a/Wabbajack.Lib/NexusApi/NexusApi.cs +++ b/Wabbajack.Lib/NexusApi/NexusApi.cs @@ -34,9 +34,7 @@ namespace Wabbajack.Lib.NexusApi { get { - if (_userStatus == null) - _userStatus = GetUserStatus(); - return _userStatus; + return _userStatus ??= GetUserStatus(); } }