feat: verify last-known-good local packages
This commit is contained in:
@@ -3,3 +3,13 @@
|
||||
Before changing package pointers, Launcher Next writes an activation snapshot containing exact previous `current.json` and `previous.json` contents and their SHA-256 values. Files are copied to a unique staging directory and rehashed. Only then is staging moved to `packages/<package>/versions/<version>` and the package-local pointer updated atomically.
|
||||
|
||||
Rollback restores the exact pointers, deletes the pilot version and startup script, and removes incomplete staging. Autodesk assemblies, PDBs, executables, test assemblies and legacy files are rejected from the pilot package.
|
||||
|
||||
## Last-known-good resolution
|
||||
|
||||
Each activated version retains its validated package manifest alongside its payload.
|
||||
`LocalPackageStore.ResolveAsync` revalidates the manifest, package identity/product
|
||||
compatibility, entry payload and every payload SHA-256 before returning a local
|
||||
version. It returns current first. Only when current is invalid and the caller
|
||||
explicitly permits offline fallback can it return previous. It never reads or
|
||||
executes a package from DFS, and a failed or corrupted update never becomes
|
||||
last-known-good.
|
||||
|
||||
Reference in New Issue
Block a user