Repository navigation
fix: complete lifecycle cleanup with the pinned SDK submodule - #70
Merged
Merged
Conversation
Merged
12 tasks done
ShadowNineX
marked this pull request as ready for review
October 25, 2026 12:32
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
4 of 6 tasks
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.



Outcome and linked issue
Complete activation cleanup after normal shutdown and failed enable. Module deactivation notifications run before owned-resource cleanup, and failures do not abandon later cleanup stages.
Standalone Client builds previously failed because the published SDK lacks
BeginFailedEnableRollback(). Repository builds and tests now use the SDK Git submodule pinned to merged commit524979c2d5f9de984afd95a4dbebebc92f2ae894from CheatEngineNet/CheatEngine.SDK#100.Scope and architectural ownership
production-packages, retain SDK as a separate NuGet dependency, and run the exact packaged-consumer checks.Validation actually performed
Commands use
-p:CheatEngineImportSourceSettings=falselocally to exercise the nested SDK submodule instead of the containing MCP workspace's SDK override. Portable tests use--filter-not-trait Category=PackageConsumption --filter-not-trait Category=LiveQualification --fail-skips on.API and compatibility
ICheatEngineClientModuleDeactivationNotificationandICheatEngineClientResourceCleanup; no existing interface members changed.Checklist
86ba0832f0e8f74fe46dd83d1edc9aeccef21a55, including Debug/Release, Native AOT, SonarCloud, CodeQL and CI Gate; GitHub verifies its signature.