Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suppress incompatibility warning at game launch #3453

Merged

Conversation

HebaruSan
Copy link
Member

@HebaruSan HebaruSan commented Sep 26, 2021

Background

In #2601 we added a pop-up that appears at game launch if the user has incompatible modules installed:

image

The goal was to alert users that some previously compatible mods may stop working after Steam auto-updates the game (e.g., this would have happened with the upgrade from KSP 1.7 to 1.8), similar to what KSP-AVC and MiniAVC do. It was also hoped that prompting users in this way would have positive side effects for metadata accuracy (i.e., if they know a mod is compatible but not yet marked as such, they might submit pull requests for that mod's version file to update it), but for the most part that seems not to have happened.

Motivation

Some power users install incompatible mods on purpose and experience alert fatigue with this popup. They would like to be able to suppress it, especially after they know that their install is working.

This is currently one of our more frequently received feature requests.

Changes

Now the warning popup has a new "Don't show this again for these mods on KSP X.XX.X" checkbox in the lower left:

image

If you check this checkbox and click Launch, then we write a file like this to <KSP>/CKAN/suppressed_compat_warning_identifiers.json:

{"GameVersionWhenWritten":"1.12.2.3167","Identifiers":["HeapPadder","EvaFollower","AirParkContinued"]}

The next time you click Launch Game, we load this file and check whether GameVersionWhenWritten still matches your game version. If so, then the identifiers listed in the Identifiers property are excluded from the compatibility warning popup. If all of your incompatible modules are already in the file, then the popup doesn't appear at all.

If your game version changes, or if you install new incompatible mods, then the warning will appear again, to ensure that we continue to warn in potentially crashy situations.

No means is provided to "revert" the suppression manually other than deleting that JSON file, since it's pretty unlikely a user would check the checkbox accidentally, and there are easier ways to check which of their mods are incompatible than launching the game.

Fixes #2955.

@HebaruSan HebaruSan added Enhancement GUI Issues affecting the interactive GUI Pull request labels Sep 26, 2021
@vinix38
Copy link
Contributor

vinix38 commented Sep 26, 2021

Hi, could you please add this line to the French translation? Thanks :)
<data name="MainLaunchDontShow" xml:space="preserve"><value>Ne plus demander pour ces mods sur {0} version {1}</value></data>

@HebaruSan HebaruSan force-pushed the feature/suppress-compat-warning branch from cdad8cf to 34ccf19 Compare September 26, 2021 19:18
@DasSkelett DasSkelett force-pushed the feature/suppress-compat-warning branch from 34ccf19 to a4ad8e5 Compare September 27, 2021 20:29
@DasSkelett
Copy link
Member

(Did a force-push to add @vinix38 as co-author of the French translation commit, so it shows up in the stats and things, and to add the German translation)

Since we have the ability now, should we also emphasize the list of new incompatible mods?
E.g.

... Really launch?

Newly incompatible:
HeapAdder 0.0.1.5 (KSP 1.5.1-1.7.3

Existing incompatible:
EvaFollower 1.035 (KSP 1.1.2)
...

@HebaruSan HebaruSan force-pushed the feature/suppress-compat-warning branch from a4ad8e5 to ea19acd Compare September 28, 2021 20:02
@HebaruSan
Copy link
Member Author

(Did a force-push to add @vinix38 as co-author of the French translation commit, so it shows up in the stats and things, and to add the German translation)

👍

Since we have the ability now, should we also emphasize the list of new incompatible mods?

Currently the new ones would be the only mods shown, since the user chose previously not to show the message for the others. I think that's a good way to do it, less reading and parsing to get the basic idea.

@DasSkelett
Copy link
Member

Currently the new ones would be the only mods shown, since the user chose previously not to show the message for the others. I think that's a good way to do it, less reading and parsing to get the basic idea.

Ah, didn't read that far into the code yet. Yup, I'm with you there.

Also it looks like we lost my changes in the rebase, should I re-push them, or do you want to handle that so it doesn't happen again? Would be nice if we could also keep @vinix38 as co-author of the commit, now that GitHub also understands that keyword.

@HebaruSan
Copy link
Member Author

Also it looks like we lost my changes in the rebase, should I re-push them, or do you want to handle that so it doesn't happen again? Would be nice if we could also keep @vinix38 as co-author of the commit, now that GitHub also understands that keyword.

Go ahead and take care of both of those things, if you don't mind, I will make sure to pull your changes before doing anything else this time.

@DasSkelett DasSkelett force-pushed the feature/suppress-compat-warning branch from ea19acd to 2cc1b79 Compare October 17, 2021 15:07
@DasSkelett DasSkelett force-pushed the feature/suppress-compat-warning branch from 2cc1b79 to 95c6c2f Compare November 1, 2021 13:45
Copy link
Member

@DasSkelett DasSkelett left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pushed another small change to add a short documentation comment to the new SuppressableYesNoDialog() function, to explain what the bool in the tuple means. Hope that's alright.

Looks good and works, I know a few people who will really like this feature ^^

@HebaruSan HebaruSan merged commit 8a3bd59 into KSP-CKAN:master Nov 1, 2021
@HebaruSan HebaruSan deleted the feature/suppress-compat-warning branch November 1, 2021 13:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement GUI Issues affecting the interactive GUI Pull request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add an option to disable the list of incompatible mods
3 participants