feat: critical file hash checks, red status bar for troubleshooting #10395
+367
−131
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.
Fixes #[issue_no]
Summary of Changes
We have had a lot of trouble with mods tampering with core files like systems.cfg, and breaking our aircraft in subtle ways. This PR adds hashing of a few critical files, and checks in the EFB. If any tampered files are detected the status bar at the top of the EFB changes to a red hue, and the files are listed on the troubleshooting page. The list of critical files is intentionally very small to avoid flooding the troubleshooting page on the EFB and making it useless for other purposes.
It also makes the EFB status bar turn red when any other troubleshooting issue occurs. When the status bar is red, clicking it will take the user to the troubleshooting page.
Screenshots (if necessary)
All okay:

Mischief afoot:


References
Additional context
Discord username (if different from GitHub):
Testing instructions
With no A32NX or A380X mods installed you should see the case in "all okay" under screenshots above.
Try install a lighting mod from flightsim.to and see if it triggers a mismatch.
From any other page on the EFB, click the status bar when it is red, and make sure it takes you to the status page. Click the back arrows (<- Settings - Troubleshooting) and make sure it takes you back where you came from.
How to download the PR for QA
Every new commit to this PR will cause new A32NX and A380X artifacts to be created, built, and uploaded.