From 49fb3ca25390940edc820cc150f6ad4826a9a840 Mon Sep 17 00:00:00 2001 From: Exterrata <38149279+Exterrata@users.noreply.github.com> Date: Sun, 25 Oct 2026 02:49:07 -0400 Subject: [PATCH] Fix updater static init order; clear staged updates on startup Co-Authored-By: Claude Sonnet 5.5 --- Services/UpdateService.cs | 4 ++-- ViewModels/MainViewModel.cs | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Services/UpdateService.cs b/Services/UpdateService.cs index 0824745..29d950c 100644 --- a/Services/UpdateService.cs +++ b/Services/UpdateService.cs @@ -15,6 +15,8 @@ public static class UpdateService public static string Repo { get; } = Environment.GetEnvironmentVariable("CVRMANAGER_UPDATE_REPO") is { Length: > 0 } r ? r : "Koneko/CVRManager"; public const string AssetName = "CVRManager-win-x64.zip"; + public static Version Current { get; } = Normalize(Assembly.GetEntryAssembly()?.GetName().Version ?? new Version(1, 0, 0)); + static readonly HttpClient Http = CreateClient(); static HttpClient CreateClient() @@ -24,8 +26,6 @@ public static class UpdateService return http; } - public static Version Current { get; } = Normalize(Assembly.GetEntryAssembly()?.GetName().Version ?? new Version(1, 0, 0)); - static Version Normalize(Version v) => new(v.Major, Math.Max(v.Minor, 0), Math.Max(v.Build, 0)); public static bool TryParseTag(string tag, out Version version) diff --git a/ViewModels/MainViewModel.cs b/ViewModels/MainViewModel.cs index 4c63708..cbe45af 100644 --- a/ViewModels/MainViewModel.cs +++ b/ViewModels/MainViewModel.cs @@ -841,6 +841,7 @@ public class MainViewModel : ObservableObject RebuildChoices(); } _ = RefreshBranchesQuietAsync(CancellationToken.None); + _ = Task.Run(() => { try { Directory.Delete(Path.Combine(Paths.Root, "update"), true); } catch (Exception e) when (e is IOException or UnauthorizedAccessException) { } }); if (cfg.CheckUpdates) _ = CheckForUpdateAsync(false); if (!IsBusy) await RefreshModCoreAsync(MelonLoader, quiet: true); _ = Task.Run(() =>