diff --git a/CHANGELOG.md b/CHANGELOG.md
index 41ba0fcd..59936cca 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
### Changelog
+#### Version - 2.0.4.1 - 5/10/2020
+* Hotfix: don't throw a compilation exceptions when metas can't be inferred
+
#### Version - 2.0.4.0 - 5/9/2020
* Several visual improvements to the gallery thanks to the hard work of Khamûl
* Rewrote most of the server-side code for better stability and performance
diff --git a/Wabbajack.CLI/Wabbajack.CLI.csproj b/Wabbajack.CLI/Wabbajack.CLI.csproj
index 2ee9a067..ae6ca940 100644
--- a/Wabbajack.CLI/Wabbajack.CLI.csproj
+++ b/Wabbajack.CLI/Wabbajack.CLI.csproj
@@ -6,8 +6,8 @@
wabbajack-cli
Wabbajack
x64
- 2.0.4.0
- 2.0.4.0
+ 2.0.4.1
+ 2.0.4.1
Copyright © 2019-2020
An automated ModList installer
true
diff --git a/Wabbajack.Common/Http/Client.cs b/Wabbajack.Common/Http/Client.cs
index e4a7f8a7..5cddbb55 100644
--- a/Wabbajack.Common/Http/Client.cs
+++ b/Wabbajack.Common/Http/Client.cs
@@ -13,10 +13,10 @@ namespace Wabbajack.Common.Http
{
public List<(string, string?)> Headers = new List<(string, string?)>();
public List Cookies = new List();
- public async Task GetAsync(string url, HttpCompletionOption responseHeadersRead = HttpCompletionOption.ResponseHeadersRead)
+ public async Task GetAsync(string url, HttpCompletionOption responseHeadersRead = HttpCompletionOption.ResponseHeadersRead, bool errorsAsExceptions = true)
{
var request = new HttpRequestMessage(HttpMethod.Get, url);
- return await SendAsync(request, responseHeadersRead);
+ return await SendAsync(request, responseHeadersRead, errorsAsExceptions: errorsAsExceptions);
}
@@ -63,7 +63,7 @@ namespace Wabbajack.Common.Http
return await result.Content.ReadAsStringAsync();
}
- public async Task SendAsync(HttpRequestMessage msg, HttpCompletionOption responseHeadersRead = HttpCompletionOption.ResponseHeadersRead)
+ public async Task SendAsync(HttpRequestMessage msg, HttpCompletionOption responseHeadersRead = HttpCompletionOption.ResponseHeadersRead, bool errorsAsExceptions = true)
{
foreach (var (k, v) in Headers)
msg.Headers.Add(k, v);
@@ -76,7 +76,9 @@ namespace Wabbajack.Common.Http
var response = await ClientFactory.Client.SendAsync(msg, responseHeadersRead);
if (response.IsSuccessStatusCode) return response;
- throw new HttpRequestException($"Http Exception {response.StatusCode} - {response.ReasonPhrase} - {msg.RequestUri}");;
+ if (errorsAsExceptions)
+ throw new HttpRequestException($"Http Exception {response.StatusCode} - {response.ReasonPhrase} - {msg.RequestUri}");;
+ return response;
}
catch (Exception)
{
diff --git a/Wabbajack.Launcher/Wabbajack.Launcher.csproj b/Wabbajack.Launcher/Wabbajack.Launcher.csproj
index 0b51b35c..58162f3c 100644
--- a/Wabbajack.Launcher/Wabbajack.Launcher.csproj
+++ b/Wabbajack.Launcher/Wabbajack.Launcher.csproj
@@ -4,8 +4,8 @@
WinExe
netcoreapp3.1
true
- 2.0.4.0
- 2.0.4.0
+ 2.0.4.1
+ 2.0.4.1
Copyright © 2019-2020
Wabbajack Application Launcher
true
diff --git a/Wabbajack.Lib/MO2Compiler.cs b/Wabbajack.Lib/MO2Compiler.cs
index 9954d980..11b0352b 100644
--- a/Wabbajack.Lib/MO2Compiler.cs
+++ b/Wabbajack.Lib/MO2Compiler.cs
@@ -155,6 +155,7 @@ namespace Wabbajack.Lib
if (cancel.IsCancellationRequested) return false;
UpdateTracker.NextStep("Inferring metas for game file downloads");
await InferMetas();
+
if (cancel.IsCancellationRequested) return false;
UpdateTracker.NextStep("Reindexing downloads after meta inferring");
@@ -397,7 +398,7 @@ namespace Wabbajack.Lib
var client = new Common.Http.Client();
using var response =
await client.GetAsync(
- $"http://build.wabbajack.org/indexed_files/{vf.Hash.ToHex()}/meta.ini");
+ $"http://build.wabbajack.org/indexed_files/{vf.Hash.ToHex()}/meta.ini", errorsAsExceptions: false);
if (!response.IsSuccessStatusCode)
{
diff --git a/Wabbajack.Server/Wabbajack.Server.csproj b/Wabbajack.Server/Wabbajack.Server.csproj
index c48d21a3..cb89131f 100644
--- a/Wabbajack.Server/Wabbajack.Server.csproj
+++ b/Wabbajack.Server/Wabbajack.Server.csproj
@@ -3,8 +3,8 @@
Exe
netcoreapp3.1
- 2.0.4.0
- 2.0.4.0
+ 2.0.4.1
+ 2.0.4.1
Copyright © 2019-2020
Wabbajack Server
win-x64
diff --git a/Wabbajack.Test/SanityTests.cs b/Wabbajack.Test/SanityTests.cs
index 46f5059f..b48bbb35 100644
--- a/Wabbajack.Test/SanityTests.cs
+++ b/Wabbajack.Test/SanityTests.cs
@@ -40,6 +40,26 @@ namespace Wabbajack.Test
utils.VerifyInstalledFile(mod, @"Data\scripts\test.pex");
}
+ [Fact]
+ public async Task ExtraFilesInDownloadFolderDontStopCompilation()
+ {
+
+ var profile = utils.AddProfile();
+ var mod = utils.AddMod();
+ var testPex = utils.AddModFile(mod, @"Data\scripts\test.pex", 10);
+
+ await utils.Configure();
+
+ utils.AddManualDownload(
+ new Dictionary {{"/baz/biz.pex", await testPex.ReadAllBytesAsync()}});
+
+ await utils.DownloadsFolder.Combine("some_other_file.7z").WriteAllTextAsync("random data");
+
+ await CompileAndInstall(profile);
+
+ utils.VerifyInstalledFile(mod, @"Data\scripts\test.pex");
+ }
+
[Fact]
public async Task TestDirectMatchFromGameFolder()
{
diff --git a/Wabbajack/Wabbajack.csproj b/Wabbajack/Wabbajack.csproj
index d8f0120a..89af1e7b 100644
--- a/Wabbajack/Wabbajack.csproj
+++ b/Wabbajack/Wabbajack.csproj
@@ -6,8 +6,8 @@
true
x64
win10-x64
- 2.0.4.0
- 2.0.4.0
+ 2.0.4.1
+ 2.0.4.1
Copyright © 2019-2020
An automated ModList installer
true