Clean obsolete Extentions during client synchronization

Include the prepared cleanup of both client roots while preserving manifest-listed files and unrelated user state. Verified on Windows through FVM: full formatting and analysis, all 76 tests, production dry run, x64 build and DSA signature verification.
This commit is contained in:
2026-10-10 16:36:51 +04:00
parent c802839688
commit 7799b33239
6 changed files with 43 additions and 8 deletions
+5 -1
View File
@@ -173,6 +173,9 @@ to the selected installation root, including files in nested directories.
The scan separately collects stale paths without hashing their contents:
- every file absent from the manifest in `Data/` and `WoW/Data/`
- every file absent from the manifest in obsolete `Extentions/` and
`WoW/Extentions/` directories, including unused subdirectories and the
Extentions directory itself when no manifest files require it
- `WoW.exe` and `*.dll` absent from the manifest directly in the installation
root or `WoW/` (binary names are matched without case sensitivity)
- unused Data subdirectories, ordered after their children; the Data roots and
@@ -325,7 +328,8 @@ The automated tests cover:
- deterministic `buildHash`
- path normalization used by `buildHash`
- preservation of user state and unrelated unmanaged files during cleanup
- removal of unmanaged Data files, unused subdirectories, WoW.exe, and DLLs
- removal of unmanaged Data files, unused subdirectories, WoW.exe, DLLs, and
obsolete Extentions directories
- preservation of manifest-listed DLLs and WoW.exe
- cache cleanup behavior
- safe path resolution