Conversation
- Fixed "refreshAssets" propagation - Fixed update tab for V2 packages - Cleaner tab responsibilities - Fixed finding best framework group dependencies
JoC0de
left a comment
There was a problem hiding this comment.
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. |
JoC0de
left a comment
There was a problem hiding this comment.
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
Updatetab works, and how the tab responsibilities are split, other than that it's really just minor fixes.Changes introduced:
Fixed
refreshAssetspropagationWe 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 Notesin theDetailssection 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:
Onlinetab will show dropdown list of versions along withInstallbutton if the package is not installed, otherwise it will only showInstalled Versionto indicate what is already installed.Installedtab shows what version is installed and options to uninstall packages or mark dependencies as explicit packages.Updatestab shows installed version and shows, in a dropdown list, selection of newer versions withUpdatebutton (ifShow Downgradesis not checked), or lower versions withDowngradebutton (ifShow Downgradesis checked).Update Allbutton is now shown only ifShow Downgradesis 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
Detailson a package.