Improve refreshing packages when manifest.json is newer than packages.json #2085
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We want to update the list of packages when
manifest.json
and/orpackages-lock.json
is modified. We preferpackages-lock.json
because it's more accurate. So if the user modifiesmanifest.json
, we want to wait to allow Unity the chance to resolve packages and update the lock file.This PR simplifies the existing code. If
manifest.json
is modified, it fires a longer event before refreshing, to allow Unity a chance to update. If Unity doesn't update, the event still fires and we work withmanifest.json
. If Unity does update, we cancel the long event and update with the more accuratepackages-lock.json
.This fixes RIDER-62558 which hit an infinite loop in the old implementation, because if Unity isn't running, the file timestamps won't get updated.