Skip to content

Commit a3ccd39

Browse files
authored
Upload page UX polish (#9281)
1 parent ac65151 commit a3ccd39

19 files changed

Lines changed: 348 additions & 56 deletions

File tree

src/AccountDeleter/EmptyFeatureFlagService.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,5 +290,10 @@ public bool ProxyGravatarEnSubdomain()
290290
{
291291
throw new NotImplementedException();
292292
}
293+
294+
public bool IsDisplayUploadWarningV2Enabled(User user)
295+
{
296+
throw new NotImplementedException();
297+
}
293298
}
294299
}

src/GitHubVulnerabilities2Db/Fakes/FakeFeatureFlagService.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,11 @@ public bool IsMarkdigMdSyntaxHighlightEnabled()
130130
throw new NotImplementedException();
131131
}
132132

133+
public bool IsDisplayUploadWarningV2Enabled(User user)
134+
{
135+
throw new NotImplementedException();
136+
}
137+
133138
public bool IsODataDatabaseReadOnlyEnabled()
134139
{
135140
throw new NotImplementedException();

src/NuGetGallery.Services/Configuration/FeatureFlagService.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ public class FeatureFlagService : IFeatureFlagService
4747
private const string LicenseMdRenderingFlightName = GalleryPrefix + "LicenseMdRendering";
4848
private const string MarkdigMdRenderingFlightName = GalleryPrefix + "MarkdigMdRendering";
4949
private const string MarkdigMdSyntaxHighlightFlightName = GalleryPrefix + "MarkdigMdSyntaxHighlight";
50+
private const string DisplayUploadWarningV2FlightName = GalleryPrefix + "DisplayUploadWarningV2";
5051
private const string DeletePackageApiFlightName = GalleryPrefix + "DeletePackageApi";
5152
private const string ImageAllowlistFlightName = GalleryPrefix + "ImageAllowlist";
5253
private const string DisplayBannerFlightName = GalleryPrefix + "Banner";
@@ -341,6 +342,11 @@ public bool IsMarkdigMdSyntaxHighlightEnabled()
341342
return _client.IsEnabled(MarkdigMdSyntaxHighlightFlightName, defaultValue: false);
342343
}
343344

345+
public bool IsDisplayUploadWarningV2Enabled(User user)
346+
{
347+
return _client.IsEnabled(DisplayUploadWarningV2FlightName, user, defaultValue: false);
348+
}
349+
344350
public bool IsDeletePackageApiEnabled(User user)
345351
{
346352
return _client.IsEnabled(DeletePackageApiFlightName, user, defaultValue: false);

src/NuGetGallery.Services/Configuration/IFeatureFlagService.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,11 @@ public interface IFeatureFlagService
268268
/// </summary>
269269
bool IsMarkdigMdSyntaxHighlightEnabled();
270270

271+
/// <summary>
272+
/// Whether the new warning of the verfiy metadata when upload package is enabled.
273+
/// </summary>
274+
bool IsDisplayUploadWarningV2Enabled(User user);
275+
271276
/// <summary>
272277
/// Whether or not the user can delete a package through the API.
273278
/// </summary>

src/NuGetGallery/App_Data/Files/Content/flags.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,12 @@
108108
"SiteAdmins": false,
109109
"Accounts": [],
110110
"Domains": []
111+
},
112+
"NuGetGallery.DisplayUploadWarningV2": {
113+
"All": true,
114+
"SiteAdmins": false,
115+
"Accounts": [],
116+
"Domains": []
111117
}
112118
}
113119
}

src/NuGetGallery/Controllers/PackagesController.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,7 @@ private async Task<ActionResult> UploadPackageInternal(SubmitPackageRequest mode
375375
verifyRequest.LicenseExpressionSegments = GetLicenseExpressionSegmentsOrNull(packageMetadata.LicenseMetadata);
376376
verifyRequest.ReadmeFileContents = await GetReadmeFileContentsOrNullAsync(packageMetadata, packageArchiveReader);
377377
verifyRequest.IsMarkdigMdSyntaxHighlightEnabled = _featureFlagService.IsMarkdigMdSyntaxHighlightEnabled();
378+
verifyRequest.IsDisplayUploadWarningV2Enabled = _featureFlagService.IsDisplayUploadWarningV2Enabled(currentUser);
378379

379380
model.InProgressUpload = verifyRequest;
380381
return View(model);
@@ -658,6 +659,7 @@ private async Task<JsonResult> GetVerifyPackageView(User currentUser,
658659
model.IsSymbolsPackage = isSymbolsPackageUpload;
659660
model.HasExistingAvailableSymbols = hasExistingSymbolsPackageAvailable;
660661
model.IsMarkdigMdSyntaxHighlightEnabled = _featureFlagService.IsMarkdigMdSyntaxHighlightEnabled();
662+
model.IsDisplayUploadWarningV2Enabled = _featureFlagService.IsDisplayUploadWarningV2Enabled(currentUser);
661663
model.Warnings.AddRange(packageContentData.Warnings.Select(w => new JsonValidationMessage(w)));
662664
model.LicenseFileContents = packageContentData.LicenseFileContents;
663665

src/NuGetGallery/NuGetGallery.csproj

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,8 @@
333333
<Compile Include="Modules\CookieComplianceHttpModule.cs" />
334334
<Compile Include="RequestModels\DeletePackagesApiRequest.cs" />
335335
<Compile Include="RequestModels\UpdateListedRequest.cs" />
336+
<Compile Include="Services\MissingLicenseValidationMessageV2.cs" />
337+
<Compile Include="Services\UploadPackageMissingReadme.cs" />
336338
<Compile Include="Services\MissingLicenseValidationMessage.cs" />
337339
<Compile Include="Services\UploadPackageIdNamespaceConflict.cs" />
338340
<Compile Include="Services\ImageDomainValidator.cs" />
@@ -635,6 +637,11 @@
635637
<Compile Include="Services\TyposquattingStringNormalization.cs" />
636638
<Compile Include="Services\UpdateDeprecationError.cs" />
637639
<Compile Include="Services\ValidationService.cs" />
640+
<Compile Include="Strings.Designer.cs">
641+
<AutoGen>True</AutoGen>
642+
<DesignTime>True</DesignTime>
643+
<DependentUpon>Strings.resx</DependentUpon>
644+
</Compile>
638645
<Compile Include="Telemetry\ClientInformationTelemetryEnricher.cs" />
639646
<Compile Include="Telemetry\ClientTelemetryPIIProcessor.cs" />
640647
<Compile Include="Telemetry\CustomerResourceIdEnricher.cs" />
@@ -1483,11 +1490,6 @@
14831490
<Compile Include="Services\IFormsAuthenticationService.cs" />
14841491
<Compile Include="Services\IPackageFileService.cs" />
14851492
<Compile Include="RequestModels\DisplayPackageRequest.cs" />
1486-
<Compile Include="Strings.Designer.cs">
1487-
<DependentUpon>Strings.resx</DependentUpon>
1488-
<AutoGen>True</AutoGen>
1489-
<DesignTime>True</DesignTime>
1490-
</Compile>
14911493
<Compile Include="Properties\AssemblyInfo.cs" />
14921494
<Compile Include="Properties\AssemblyInfo.*.cs" />
14931495
<Compile Include="RequestModels\SubmitPackageRequest.cs" />
@@ -2058,8 +2060,8 @@
20582060
</EmbeddedResource>
20592061
<EmbeddedResource Include="Strings.resx">
20602062
<Generator>PublicResXFileCodeGenerator</Generator>
2061-
<LastGenOutput>Strings.Designer.cs</LastGenOutput>
20622063
<SubType>Designer</SubType>
2064+
<LastGenOutput>Strings.Designer.cs</LastGenOutput>
20632065
</EmbeddedResource>
20642066
</ItemGroup>
20652067
<ItemGroup>

src/NuGetGallery/RequestModels/SubmitPackageRequest.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,7 @@ public class SubmitPackageRequest
1414
public bool IsUserLocked { get; set; }
1515

1616
public bool IsMarkdigMdSyntaxHighlightEnabled { get; set; }
17+
18+
public bool IsDisplayUploadWarningV2Enabled { get; set; }
1719
}
1820
}

src/NuGetGallery/RequestModels/VerifyPackageRequest.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ public VerifyPackageRequest(PackageMetadata packageMetadata, IEnumerable<User> p
119119
public bool IsSymbolsPackage { get; set; }
120120
public bool HasExistingAvailableSymbols { get; set; }
121121
public bool IsMarkdigMdSyntaxHighlightEnabled { get; set; }
122+
public bool IsDisplayUploadWarningV2Enabled { get; set; }
122123

123124
public List<JsonValidationMessage> Warnings { get; set; } = new List<JsonValidationMessage>();
124125

src/NuGetGallery/Scripts/gallery/async-file-upload.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,11 @@
303303
$("#verify-collapser-container").removeClass("hidden");
304304
$("#submit-collapser-container").removeClass("hidden");
305305

306+
if (model != null && model.IsDisplayUploadWarningV2Enabled) {
307+
$('#upload-package-form').collapse('hide');
308+
$('#warning-container').addClass('hidden');
309+
}
310+
306311
window.nuget.configureExpanderHeading("verify-package-section");
307312
window.nuget.configureExpanderHeading("submit-package-form");
308313
}

0 commit comments

Comments
 (0)