Conflicting recommendations check for ConsoleUI #4085
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.
Problem
In ConsoleUI's recommendations screen for RP-1, Ctrl+A, F9 throws an exception:
Note that I had to turn off "Enable Ctrl key shortcuts" in the Windows terminal settings to allow Ctrl+A to reach the app code.
Cause
#4023 updated the install screen to find the latest module versions that don't conflict with any of the other modules. In the case of unavoidable conflicts, there may be no such version, so
null
values were sneaking into the list of mods to install.Motivation
In ConsoleUI, the recommendations screen leaves conflict checking to the install screen, so the user can select whatever recommended/suggested modules they want, only to find out that some combinations can't actually be installed.
Changes
Now the install screen's allowed-module logic will fall back to the original module in case of conflicts. (But also this will no longer happen, see below.)
Now the ConsoleUI recommendations screen checks for conflicts when you:
In each case, if any conflicts are found, the user will be alerted and the proximate action will be cancelled (i.e., the mod won't be added to the list). This will mean that you can no longer leave this screen with a conflicting changeset, and the warning will appear at a time when you can do something about it.
Fixes #4072.