What's new for you
A small reliability fix for the Gaming Profile tab. If the app ever closed while game mode was still on, the next launch offers to undo those changes. This update makes sure that clean-up can't collide with you starting a new game session at the same time — so the "restore leftover changes?" prompt always clears itself properly instead of occasionally reappearing on every launch. Nothing changes in how you use the tab.
[1.52.99] - 2026-07-11
Fixed
- The Gaming Profile crash-recovery sweep reverted the leftover session and rewrote its store without holding the service lock, so a quick Start click could race it. On launch, if a previous run closed with game-mode tweaks still applied, the tab offers to revert them via
RecoverPendingAsync. UnlikeApplyAsyncandRevertAsync— which both serialize on the service'sSemaphoreSlim(_gate) —RecoverPendingAsyncran itsRunRevertAsyncand itsLoadStore→SaveStorecompletely ungated. After the user answered the "restore?" dialog the UI was live again, so clicking Start launchedApplyAsyncconcurrently with the still-running recovery revert: two paths reverting/applying the same machine-wide tweaks (power plan, visual effects, search indexing, notifications) and doing an unsynchronized read-modify-write of the on-disk store — which could lose theActiveSession = nullclear (resurrecting the leftover marker so it re-prompts forever) or interleave conflicting tweak steps.RecoverPendingAsyncnow acquires_gatefor its whole body (mirroringRevertAsync, including theConfigureAwait(false)that keeps the gate-release continuation off the UI thread soDispose's shutdown_gate.Wait()can't deadlock) and re-reads the store inside the gate so the read-modify-write is atomic against a concurrentSaveStore.
Verify the download
Get-FileHash .\SysManager-v1.52.99.exe -Algorithm SHA256Expected SHA256: B4C26F0A8188E0BD1667E28D87F789756C898425934978D4709AD35A9569936B