Batch 1: Clean Up Legacy Code and Fix Strategy Workflows
This is the first batch of the GeneralUpdate refactor plan (see #344 for migration guide context).
Tasks
-
*Remove \GeneralClientBootstrap* — The class is already marked [Obsolete]. Remove it entirely and ensure \GeneralUpdateBootstrap\ covers all functionality.
-
Refactor \UpgradeUpdateStrategy\ to zero-network — Per the design, Upgrade should only receive \ProcessInfo\ from the client, apply updates via Pipeline, and start the main app. It should NOT:
- Download packages (the client does this)
- Validate versions against the server (the client does this)
- Make any HTTP calls
-
Add \MacStrategy\ to OS resolution — \ClientUpdateStrategy.ResolveOsStrategy()\ and \UpgradeUpdateStrategy.ResolveOsStrategy()\ currently only support Windows/Linux. Add macOS support.
-
*Replace \Process.Kill()\ with \GracefulExit.ShutdownAsync()* — The \GracefulExit\ utility already exists. Wire it up everywhere \Process.Kill()\ is currently called on controlled processes.
Related
Batch 1: Clean Up Legacy Code and Fix Strategy Workflows
This is the first batch of the GeneralUpdate refactor plan (see #344 for migration guide context).
Tasks
*Remove \GeneralClientBootstrap* — The class is already marked [Obsolete]. Remove it entirely and ensure \GeneralUpdateBootstrap\ covers all functionality.
Refactor \UpgradeUpdateStrategy\ to zero-network — Per the design, Upgrade should only receive \ProcessInfo\ from the client, apply updates via Pipeline, and start the main app. It should NOT:
Add \MacStrategy\ to OS resolution — \ClientUpdateStrategy.ResolveOsStrategy()\ and \UpgradeUpdateStrategy.ResolveOsStrategy()\ currently only support Windows/Linux. Add macOS support.
*Replace \Process.Kill()\ with \GracefulExit.ShutdownAsync()* — The \GracefulExit\ utility already exists. Wire it up everywhere \Process.Kill()\ is currently called on controlled processes.
Related