vPOD: Reprovision also wipes the installed-apps store
The UI's Reprovision button only dropped the session key; the console-driven ClearStore was the only path that cleared LaunchApps.json. Both now share VirtualLauncher.WipeApps, so Reprovision = fresh pod (key + app registry gone, beacon mode; extracted Games\ files stay, as on a real pod). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -87,10 +87,12 @@ assigned network config is shown in the window but never applied):
|
||||
and starts the launcher RPC. The pod row goes healthy (`Idle [<n> ms]`).
|
||||
|
||||
The key persists in `%LocalAppData%\vPOD\TeslaKeyStore.key` (launcher format),
|
||||
so provisioning is one-time. **Reprovision** drops the key and returns to
|
||||
beacon mode — pair it with deleting the pod in Manage Site (the console's
|
||||
**Reconfigure…** does both ends automatically: its `ClearStore` makes vPOD
|
||||
drop the key and beacon again).
|
||||
so provisioning is one-time. **Reprovision** resets to a fresh pod — drops the
|
||||
key, clears the installed-apps store (`LaunchApps.json`) and returns to beacon
|
||||
mode — pair it with deleting the pod in Manage Site (the console's
|
||||
**Reconfigure…** does both ends automatically: its `ClearStore` makes vPOD do
|
||||
the same wipe and beacon again). Extracted packages under `Games\` are left on
|
||||
disk either way.
|
||||
|
||||
### Product deployments
|
||||
|
||||
|
||||
@@ -632,10 +632,13 @@ internal sealed class VPodForm : Form
|
||||
mRpcStatusLabel.ForeColor = Color.Gray;
|
||||
}
|
||||
|
||||
/// <summary>Drops the session key and re-enters provisioning — from the UI
|
||||
/// button, or when the console's Reconfigure clears our store.</summary>
|
||||
/// <summary>Drops the session key, clears the installed-apps store and
|
||||
/// re-enters provisioning — from the UI button, or when the console's
|
||||
/// Reconfigure clears our store. (Fresh-pod state; extracted Games\ files
|
||||
/// are left on disk.)</summary>
|
||||
private void DropKeyAndReprovision()
|
||||
{
|
||||
mLauncher.WipeApps();
|
||||
mLauncher.DeleteKey();
|
||||
mRpcServer.Stop();
|
||||
mProvisioning.Stop();
|
||||
|
||||
@@ -300,6 +300,15 @@ internal sealed class VirtualLauncher
|
||||
/// so re-entering provisioning (beacon mode) is what makes Reconfigure completable
|
||||
/// without the real pod's reboot-with-DHCP step.</summary>
|
||||
public void ClearStore()
|
||||
{
|
||||
WipeApps();
|
||||
Log?.Invoke("ClearStore: installed apps wiped; dropping session key to re-enter provisioning.");
|
||||
ReprovisionRequested?.Invoke();
|
||||
}
|
||||
|
||||
/// <summary>Clears the installed/launched app registries (LaunchApps.json) —
|
||||
/// the store-wipe half of ClearStore, also used by the UI's Reprovision.</summary>
|
||||
public void WipeApps()
|
||||
{
|
||||
lock (mLock)
|
||||
{
|
||||
@@ -307,9 +316,7 @@ internal sealed class VirtualLauncher
|
||||
mLaunchedApps.Clear();
|
||||
SaveApps();
|
||||
}
|
||||
Log?.Invoke("ClearStore: installed apps wiped; dropping session key to re-enter provisioning.");
|
||||
AppsChanged?.Invoke();
|
||||
ReprovisionRequested?.Invoke();
|
||||
}
|
||||
|
||||
// ---- install progress (InitiateInstallProduct / GetOutOfBandProgress) ----
|
||||
|
||||
Reference in New Issue
Block a user