Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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.
/// </remarks>
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)
Expand Down
2 changes: 1 addition & 1 deletion src/OneWare.PackageManager/Services/PackageService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,7 @@ public PackageViewModel? Target
/// </summary>
public bool IsVisible => _target?.PackageState.Status is PackageStatus.Available
or PackageStatus.Installing
or PackageStatus.UpdateAvailable
or PackageStatus.UpdateAvailablePrerelease;
or PackageStatus.UpdateAvailable;

public void Dispose()
{
Expand Down
Loading