Skip to content

Commit 6975320

Browse files
authored
Display warning when specified version was not found (#8155)
* Display warning message if specified package version isn't found * made info a warning * fixed version comparison and warning text that is displayed * Addresses #4624
1 parent 533076a commit 6975320

4 files changed

Lines changed: 18 additions & 1 deletion

File tree

src/NuGetGallery.Services/PackageManagement/PackageFilter.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ public Package GetFiltered(IReadOnlyCollection<Package> packages, PackageFilterC
4444
result = result ?? _packageService.FilterLatestPackageBySuffix(packages, version, preRelease);
4545
}
4646

47+
// The package still wasn't found so let's just get the latest version. This applies when
48+
// no version is specified, or when the version asked for (in context.Version) wasn't found
4749
result = result ?? _packageService.FilterLatestPackage(packages, SemVerLevelKey.SemVer2, allowPrerelease: true);
4850

4951
return result;

src/NuGetGallery/Controllers/PackagesController.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -869,6 +869,12 @@ public virtual async Task<ActionResult> DisplayPackage(string id, string version
869869
model.GitHubDependenciesInformation = _contentObjectService.GitHubUsageConfiguration.GetPackageInformation(id);
870870
}
871871

872+
if (normalized != null && !string.Equals(package.NormalizedVersion, normalized, StringComparison.OrdinalIgnoreCase))
873+
{
874+
model.VersionRequested = normalized;
875+
model.VersionRequestedWasNotFound = true;
876+
}
877+
872878
if (!string.IsNullOrWhiteSpace(package.LicenseExpression))
873879
{
874880
try

src/NuGetGallery/ViewModels/PackageViewModel.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ public class PackageViewModel : IPackageVersionModel
1515
public bool LatestStableVersionSemVer2 { get; set; }
1616
public bool DevelopmentDependency { get; set; }
1717
public bool Prerelease { get; set; }
18+
public string VersionRequested { get; set; }
19+
public bool VersionRequestedWasNotFound { get; set; }
1820
public int DownloadCount { get; set; }
1921
public bool Listed { get; set; }
2022
public bool FailedValidation { get; set; }

src/NuGetGallery/Views/Packages/DisplayPackage.cshtml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,14 @@
301301
</text>
302302
)
303303
}
304-
304+
@if (Model.VersionRequestedWasNotFound)
305+
{
306+
@ViewHelpers.AlertWarning(
307+
@<text>
308+
The specified version @Model.VersionRequested was not found. You have been taken to version @(Model.Version).
309+
</text>
310+
)
311+
}
305312
@if (Model.HasNewerRelease)
306313
{
307314
@ViewHelpers.AlertInfo(

0 commit comments

Comments
 (0)