-
Notifications
You must be signed in to change notification settings - Fork 330
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
Various fixes and improvements #582
Conversation
- Fixed "refreshAssets" propagation - Fixed update tab for V2 packages - Cleaner tab responsibilities - Fixed finding best framework group dependencies
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR actually isn't that big I had bigger ones 😄
It was not that much of a problem to see what change was related to which feature.
I like the caching of the selected dependencies. Eventually we can even extend this to provide warnings if a package has no supported dependency group / e.g. a user tries to install a .Net Framework package into a .Net Standard project.
For the UI changes I am not sure if we really should remove the possibility to update / uninstall packages on the other tabs. I added some screenshots of how it works in the Visual Studio package manager window.
What is the reasoning behind adding the showDowngrades
toggle? If I have a dropdown I know what version to select / or are there to many versions and the Unity dropdown has a to bad usability?
If we Update the UI we should also update the screenshots used in the Readme.md
.
…/updated screenshots
Nice 👍 with the screenshots. Only some portions of te readme.md need to be updated to conform with the new UI and then we can merge it. |
Nice 👍 you even changed more in the Readme than I expected 👍 |
…kages in updates tab
@JoC0de We had a bug where we could select different versions of a package because of differently calculated hash code, so we could have the list filled with the same package but different versions and we don't want that. It's split now and this way we also have selected packages remembered across 'Installed' tab and 'Updates' tab with updates/downgrades. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I fixed a bug: you didn't used selectedPackageUninstalls
so uninstall selected didn't worked.
I also added switched to HashSet with custom comparer I think it is much easier to handle.
I didn't tested it 😃 , so could you pleas test it.
Thank you for the fix! I added the missing meta file for the new equality comparer and tested uninstall/update/downgrade selected and everything seems to work as intended 😄 so I will squash&merge after all the checks pass. |
I apologize upfront for a bit larger PR. Wanted to fix a couple of small things but one thing led to another and we ended up with this. Basically the only 'larger' change here is how the
Update
tab works, and how the tab responsibilities are split, other than that it's really just minor fixes.Changes introduced:
Fixed
refreshAssets
propagationWe are now refreshing assets only for the topmost package when installing/updating packages. This will make sure that while installing or updating we refresh the assets only once. It also fixes one dependency being marked as explicit wrongly during installation.
Fixed update tab for V2 packages
Until now every version of the package newer than the version installed was shown as a separate package. This is now fixed by showing the dropdown selection list (similar to how V3 looks), with stacking
Release Notes
in theDetails
section showing release notes for every newer version in descending order.Cleaner tab responsibilities
Every tab now has a separate reponsibility depending on what it should do:
Online
tab will show dropdown list of versions along withInstall
button if the package is not installed, otherwise it will only showInstalled Version
to indicate what is already installed.Installed
tab shows what version is installed and options to uninstall packages or mark dependencies as explicit packages.Updates
tab shows installed version and shows, in a dropdown list, selection of newer versions withUpdate
button (ifShow Downgrades
is not checked), or lower versions withDowngrade
button (ifShow Downgrades
is checked).Update All
button is now shown only ifShow Downgrades
is not checked as we don't want to offer downgrading all packages at once. Default selected versions in dropdown lists are always the highest newer or highest lower version, depending on the checkbox, and the dropdown does NOT contain the currently installed version.NOTE: when fetching packages, list of versions is now packed in descending instead of ascending order. This is done so we don't have to sort them by descending order every time we refresh the dropdown list of available packages, so as not to throttle the UI.
Fixed finding best framework group dependencies
Small fix that caches the framework group after we first find it, this also fixes logging the best target framework group every time we expand
Details
on a package.