diff --git a/src/OneWare.Essentials/PackageManager/PackageStateExtensions.cs b/src/OneWare.Essentials/PackageManager/PackageStateExtensions.cs index 82bbd251..e4ee29c1 100644 --- a/src/OneWare.Essentials/PackageManager/PackageStateExtensions.cs +++ b/src/OneWare.Essentials/PackageManager/PackageStateExtensions.cs @@ -14,10 +14,8 @@ public static class PackageStateExtensions /// This is the single source of truth for "which version does the update button install", used /// by the package status, the package manager and the Studio updater alike. /// - public static PackageVersion? ResolveTargetVersion(this IPackageState state) + public static PackageVersion? ResolveTargetVersion(this IPackageState state, bool includePrerelease = false) { - var includePrerelease = state.InstalledVersion?.IsPrerelease ?? false; - return state.Package.Versions? .Where(x => (includePrerelease || !x.IsPrerelease) && x.IsSupportedByStudio()) .OrderByDescending(x => SemanticVersion.TryParse(x.Version, out var parsed) ? parsed : SemanticVersion.Empty) diff --git a/src/OneWare.PackageManager/Services/PackageService.cs b/src/OneWare.PackageManager/Services/PackageService.cs index 02efc472..961d372f 100644 --- a/src/OneWare.PackageManager/Services/PackageService.cs +++ b/src/OneWare.PackageManager/Services/PackageService.cs @@ -668,7 +668,7 @@ private void UpdateStatus(PackageState state) { if (state.Status == PackageStatus.NeedRestart) return; - var target = state.ResolveTargetVersion(); + var target = state.ResolveTargetVersion(true); var hasTarget = SemanticVersion.TryParse(target?.Version, out var targetVersion); var hasInstalled = SemanticVersion.TryParse(state.InstalledVersion?.Version, out var installedVersion); diff --git a/src/OneWare.PackageManager/ViewModels/FeaturedPackageViewModel.cs b/src/OneWare.PackageManager/ViewModels/FeaturedPackageViewModel.cs index 5e48c34f..304eb6da 100644 --- a/src/OneWare.PackageManager/ViewModels/FeaturedPackageViewModel.cs +++ b/src/OneWare.PackageManager/ViewModels/FeaturedPackageViewModel.cs @@ -67,8 +67,7 @@ public PackageViewModel? Target /// public bool IsVisible => _target?.PackageState.Status is PackageStatus.Available or PackageStatus.Installing - or PackageStatus.UpdateAvailable - or PackageStatus.UpdateAvailablePrerelease; + or PackageStatus.UpdateAvailable; public void Dispose() {