Improve provides prompt usability, with bugfixes #3934
Merged
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.
Problems
BetterKerbol
viaTheKramsieChallengePlanetPack
, which doesn't make sense because you haven't selected to install that modNoticed while working on the below usability improvements for the provider choice prompt.
Causes
GUIMod
object for each installed mod, one in the list of installed mods, and another in the list of compatible or incompatible mods. These were then merged together in parallel, which created a race condition that could cause the non-installed copy to take precedence over the installed one.Motivation
@JonnyOThan has reported that many users on the KSP Subreddit Discord struggle with the prompt to choose a providing mod:
Apparently some people just sit there waiting for it to do something, before finally giving up and asking for help on the internet.
Changes
GUIMod
s for the compatible and incompatible mods, which allows these lists to be safely merged in parallelRelationshipResolver
will only traverse all of the providers for recommendations and suggestions, so spurious recommendations-of-virtual-dependencies won't be pulled in(Side note, the test from Add test to check GUI thread safety #3914 prevented a bug here!)
(The custom help text from Override provides prompt with relationship property, check first recommendation in any_of group #3426 is not affected, so KSP-RO members can sleep comfortably.)
After this, users should be able to get through this screen more easily.