Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modernize package manager dialog #1969

Open
wants to merge 22 commits into
base: main
Choose a base branch
from

Conversation

glopesdev
Copy link
Member

@glopesdev glopesdev commented Aug 12, 2024

The package manager dialog has suffered a few changes over the years to support modern NuGet client features. However, this modernization was never finalized and there are still important features of modern NuGet clients which are not included.

This PR updates the styling and functionality of the package manager dialog to display deprecation warnings and latest version strings for all packages inline with the package title, as well as package authors, total package download counts, and package prefix reservation icons. Package operation buttons were replaced with fixed size icons.

A number of changes were required to get the layout to work properly, the most significant of which is adding interactive highlighting to the operation button which is now more important as a call to action. Spacing between package descriptions and various other small layout issues were also fixed.

Operation buttons were included in package details for all actions, including package updates and opening gallery example packages, and support was added for selecting the exact package version.

Finally, a dedicated dialog for viewing embedded license files in local packages was added to resolve #957. This required a refactoring to the internal license acceptance events and dialog. Modern package servers will serve embedded license files and provide the URL in the package search metadata so we will not worry with the remote case.

Filtering for gallery and library packages was added by default to resolve #1603, with a checkbox enabling search for all dependency package types if necessary.

Fixes #1603
Fixes #1965
Fixes #957

@glopesdev glopesdev added the feature New planned feature label Aug 12, 2024
@glopesdev glopesdev added this to the 2.9 milestone Aug 12, 2024
@glopesdev
Copy link
Member Author

glopesdev commented Nov 12, 2024

Feedback from DCM:

  • If currently installed version is selected, disable the Update / Install button
  • Either improve terminology of "Show dependencies" and / or add tooltip to explain what "dependencies" are or what they are used for
  • Package details link may be broken
  • Consider adding update and version selection buttons to "Installed" tab
  • Package update button indicates "Package updates are available" even when that statement is false #2003
  • Installed tab seems to be using local package metadata so e.g. package deprecation notices are not shown
  • Consider moving to infinite scroll list rather than pages

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New planned feature
Projects
None yet
1 participant