From 55bc802d59756f3f611edae79d8783fbef7dc3ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Domeradzki?= Date: Tue, 11 Nov 2025 22:13:13 +0100 Subject: [PATCH] Misc Rider improvements --- ArchiSteamFarm.sln.DotSettings | 2 ++ ArchiSteamFarm/Core/ASF.cs | 8 +++++--- ArchiSteamFarm/Core/Utilities.cs | 26 ++++++++++++++------------ ArchiSteamFarm/Plugins/PluginsCore.cs | 12 +++++++----- 4 files changed, 28 insertions(+), 20 deletions(-) diff --git a/ArchiSteamFarm.sln.DotSettings b/ArchiSteamFarm.sln.DotSettings index fcb376aec..b000d1b2d 100644 --- a/ArchiSteamFarm.sln.DotSettings +++ b/ArchiSteamFarm.sln.DotSettings @@ -189,6 +189,7 @@ SUGGESTION SUGGESTION SUGGESTION + SUGGESTION SUGGESTION DO_NOT_SHOW @@ -241,6 +242,7 @@ WARNING SUGGESTION SUGGESTION + SUGGESTION WARNING WARNING WARNING diff --git a/ArchiSteamFarm/Core/ASF.cs b/ArchiSteamFarm/Core/ASF.cs index 158c9f04c..eaeb33b9f 100644 --- a/ArchiSteamFarm/Core/ASF.cs +++ b/ArchiSteamFarm/Core/ASF.cs @@ -887,10 +887,12 @@ public static class ASF { MemoryStream memoryStream = new(responseBytes); await using (memoryStream.ConfigureAwait(false)) { - using ZipArchive zipArchive = new(memoryStream); + ZipArchive zipArchive = new(memoryStream); - if (!await UpdateFromArchive(newVersion, channel.Value, updateOverride, forced, zipArchive).ConfigureAwait(false)) { - ArchiLogger.LogGenericError(Strings.WarningFailed); + await using (zipArchive.ConfigureAwait(false)) { + if (!await UpdateFromArchive(newVersion, channel.Value, updateOverride, forced, zipArchive).ConfigureAwait(false)) { + ArchiLogger.LogGenericError(Strings.WarningFailed); + } } } } catch (Exception e) { diff --git a/ArchiSteamFarm/Core/Utilities.cs b/ArchiSteamFarm/Core/Utilities.cs index 8c06b5e7b..3eabc7997 100644 --- a/ArchiSteamFarm/Core/Utilities.cs +++ b/ArchiSteamFarm/Core/Utilities.cs @@ -169,18 +169,6 @@ public static class Utilities { } } - [PublicAPI] - public static bool IsClientErrorCode(this HttpStatusCode statusCode) => statusCode is >= HttpStatusCode.BadRequest and < HttpStatusCode.InternalServerError; - - [PublicAPI] - public static bool IsRedirectionCode(this HttpStatusCode statusCode) => statusCode is >= HttpStatusCode.Ambiguous and < HttpStatusCode.BadRequest; - - [PublicAPI] - public static bool IsServerErrorCode(this HttpStatusCode statusCode) => statusCode is >= HttpStatusCode.InternalServerError and < (HttpStatusCode) 600; - - [PublicAPI] - public static bool IsSuccessCode(this HttpStatusCode statusCode) => statusCode is >= HttpStatusCode.OK and < HttpStatusCode.Ambiguous; - [PublicAPI] public static bool IsValidCdKey(string key) { ArgumentException.ThrowIfNullOrEmpty(key); @@ -525,4 +513,18 @@ public static class Utilities { return prefixes.Any(prefix => !string.IsNullOrEmpty(prefix) && (directory.Length > prefix.Length) && DirectorySeparators.Contains(directory[prefix.Length]) && directory.StartsWith(prefix, StringComparison.Ordinal)); } + + extension(HttpStatusCode statusCode) { + [PublicAPI] + public bool IsClientErrorCode() => statusCode is >= HttpStatusCode.BadRequest and < HttpStatusCode.InternalServerError; + + [PublicAPI] + public bool IsRedirectionCode() => statusCode is >= HttpStatusCode.Ambiguous and < HttpStatusCode.BadRequest; + + [PublicAPI] + public bool IsServerErrorCode() => statusCode is >= HttpStatusCode.InternalServerError and < (HttpStatusCode) 600; + + [PublicAPI] + public bool IsSuccessCode() => statusCode is >= HttpStatusCode.OK and < HttpStatusCode.Ambiguous; + } } diff --git a/ArchiSteamFarm/Plugins/PluginsCore.cs b/ArchiSteamFarm/Plugins/PluginsCore.cs index f2fa7a97c..19ca73c2c 100644 --- a/ArchiSteamFarm/Plugins/PluginsCore.cs +++ b/ArchiSteamFarm/Plugins/PluginsCore.cs @@ -891,14 +891,16 @@ public static class PluginsCore { MemoryStream memoryStream = new(responseBytes); await using (memoryStream.ConfigureAwait(false)) { - using ZipArchive zipArchive = new(memoryStream); + ZipArchive zipArchive = new(memoryStream); - await plugin.OnPluginUpdateProceeding().ConfigureAwait(false); + await using (zipArchive.ConfigureAwait(false)) { + await plugin.OnPluginUpdateProceeding().ConfigureAwait(false); - if (!await Utilities.UpdateFromArchive(zipArchive, assemblyDirectory).ConfigureAwait(false)) { - ASF.ArchiLogger.LogGenericError(Strings.WarningFailed); + if (!await Utilities.UpdateFromArchive(zipArchive, assemblyDirectory).ConfigureAwait(false)) { + ASF.ArchiLogger.LogGenericError(Strings.WarningFailed); - return false; + return false; + } } } } catch (Exception e) {