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.
Problem
If you have any DLCs installed in a KSP1 instance, the Audit Recommendations option doesn't work.
Cause
As of #3892,
ModuleInstaller.FindRecommendations
usesRelationshipResolver
to get the recommendations and suggestions for the full dependency tree of a given group of mods. (Previously it had a lot of its own duplicative logic that has been refactored to use the shared logic inRelationshipResolver
.)Audit Recommendations passes the list of installed modules, which includes DLCs, and
RelationshipResolver
throwsModuleIsDLCKraken
when it finds a DLC in its input.Changes
Now
ModuleInstaller.FindRecommendations
filters DLCs out of the sequence of modules it passes toRelationshipResolver
, so the exception is no longer thrown and Audit Recommendations works again.We could have had
GUI.Main.AuditRecommendations
do this instead, but it seems more appropriate to enforce the constraint at the point whereRelationshipResolver
enters the picture.Fixes #3987.