Refactor patch management and add ownership safeguards - #211
Draft
xXJSONDeruloXx wants to merge 2 commits into
Draft
Refactor patch management and add ownership safeguards#211xXJSONDeruloXx wants to merge 2 commits into
xXJSONDeruloXx wants to merge 2 commits into
Conversation
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.
Summary
main.pyas a small Decky façade.py_modules/servicespath so Decky includes them in the installable archive and adds them to Python's import path.autoor Nukem's DLSSG → FSR3) and apply it to new/repatched game INIs.Scope and compatibility
The executable-selection heuristics and existing non-atomic shared-bundle install behavior are intentionally preserved. Top-level bundle uninstall behavior is also unchanged; this PR does not attempt to solve patches remaining after removing
~/fgmod.Legacy markers and markerless/manual patches are handled conservatively: cleanup removes only files that can be tied to the bundle or an ownership hash, leaves unrelated plugin/D3D12 files in place, and refuses to remove modified managed files.
Validation
pnpm test— 4 backend safety/configuration tests pass.pnpm build— frontend bundle succeeds.python3 -m py_compile main.py py_modules/services/*.py tests/test_backend.py.bash -n defaults/assets/fgmod.sh defaults/assets/fgmod-uninstaller.sh..vscode/build.sh— full Decky package build succeeds.out/Decky-Framegen.zippassesunzip -t, contains the expected root metadata,dist/,bin/, runtimeassets/, andpy_modules/services/, and has nobackend/,node_modules,.git,out, or__pycache__artifacts.py_moduleslayout.