Skip to content

Batch 4: Download subsystem integration — replace old DownloadManager #367

@JusterZhu

Description

@JusterZhu

Batch 4: Download Subsystem Integration

Core refactor batch. Replaces the old DownloadManager/DownloadTask with the new layered download abstractions, integrates cross-version package support, and connects the DownloadProgressReporter bridge.

Tasks

  1. DownloadPlan model — Create DownloadPlan record with asset list + strategy metadata
  2. BuildDownloadPlan logic — Cross-version package selection, version chain building, frozen package filtering, forced update marking
  3. PacketDTO cross-version fields — Add FromVersion, IsCrossVersion, MinClientVersion, SourceArchiveHash, TargetArchiveHash
  4. ClientUpdateStrategy → new abstractions — Replace old DownloadManager calls with IDownloadSource → BuildDownloadPlan → IDownloadOrchestrator.ExecuteAsync
  5. OSSUpdateStrategy → new abstractions — Same pattern: DownloadSource → DownloadPlan → DownloadOrchestrator
  6. UpgradeUpdateStrategy pipeline — Remove old DownloadManager+DownloadAsync; read from ProcessInfo.DownloadResults
  7. Delete old DownloadManager + DownloadTask — Remove after confirming no remaining references
  8. DownloadProgressReporter bridge — Connect IProgress → EventManager events

Related

  • Refactor plan: GeneralUpdate-refactor-plan.md

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