diff --git a/Wabbajack.App.Wpf/Views/MainWindow.xaml.cs b/Wabbajack.App.Wpf/Views/MainWindow.xaml.cs index 8f7aba3c6..4641e7dd0 100644 --- a/Wabbajack.App.Wpf/Views/MainWindow.xaml.cs +++ b/Wabbajack.App.Wpf/Views/MainWindow.xaml.cs @@ -45,6 +45,7 @@ public MainWindow(ILogger logger, SystemParametersConstructor system Closed += (s, e) => { + _logger.LogInformation("Beginning shutdown..."); _mwvm.CancelRunningTasks(TimeSpan.FromSeconds(10)); Application.Current.Shutdown(); }; diff --git a/Wabbajack.Common/HttpExtensions.cs b/Wabbajack.Common/HttpExtensions.cs index b2ca8d391..dee1b3d0a 100644 --- a/Wabbajack.Common/HttpExtensions.cs +++ b/Wabbajack.Common/HttpExtensions.cs @@ -18,7 +18,11 @@ public static class HttpExtensions "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36"; public static HttpRequestMessage AddCookies(this HttpRequestMessage msg, Cookie[] cookies) { - msg.Headers.Add("Cookie", string.Join(";", cookies.Select(c => $"{c.Name}={c.Value}"))); + if (cookies.Length > 0) + { + msg.Headers.Add("Cookie", string.Join(";", cookies.Select(c => $"{c.Name}={c.Value}"))); + } + return msg; } diff --git a/Wabbajack.Networking.Http/ResumableDownloader.cs b/Wabbajack.Networking.Http/ResumableDownloader.cs index 025715e4c..078de77d4 100644 --- a/Wabbajack.Networking.Http/ResumableDownloader.cs +++ b/Wabbajack.Networking.Http/ResumableDownloader.cs @@ -166,8 +166,17 @@ private void DeletePackage() return null; } - var packageJson = _packagePath.ReadAllText(); - return JsonSerializer.Deserialize(packageJson); + try + { + var packageJson = _packagePath.ReadAllText(); + return JsonSerializer.Deserialize(packageJson); + } + catch (JsonException ex) + { + _logger.LogWarning(ex, "Package for '{name}' couldn't be parsed. Deleting package and starting from scratch...", _outputPath.FileName.ToString()); + DeletePackage(); + return null; + } } private void SavePackage(DownloadPackage package)