Skip to content

Batch 1: Clean up legacy code and fix strategy workflows #361

@JusterZhu

Description

@JusterZhu

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

  1. *Remove \GeneralClientBootstrap* — The class is already marked [Obsolete]. Remove it entirely and ensure \GeneralUpdateBootstrap\ covers all functionality.

  2. 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
  3. Add \MacStrategy\ to OS resolution — \ClientUpdateStrategy.ResolveOsStrategy()\ and \UpgradeUpdateStrategy.ResolveOsStrategy()\ currently only support Windows/Linux. Add macOS support.

  4. *Replace \Process.Kill()\ with \GracefulExit.ShutdownAsync()* — The \GracefulExit\ utility already exists. Wire it up everywhere \Process.Kill()\ is currently called on controlled processes.

Related

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions