What do you need? / 你需要什么?
Summary
Switch the DeepChat auto-update mechanism back to using GitHub Releases as the update provider, and introduce a simple channel model where canary builds come from pre-releases and stable builds only track published releases.
Motivation
Desired behavior
- When the app is in "canary" mode, the auto-updater should detect and offer updates from GitHub pre-releases (e.g. tagged canary builds or "Pre-release" marked versions).
- When the app is in "stable" mode, the auto-updater should ignore pre-releases and only detect updates from normal GitHub releases.
- Existing versioning stays semver-based (e.g.
x.y.z, x.y.z-canary.n), and update checks use electron-updater's standard latest.yml / GitHub metadata flow without custom feed URLs.
Implementation notes
- Use
electron-updater with the GitHub provider configuration so that release metadata and assets are published as GitHub Releases artifacts in CI.
- Configure CI to upload the built artifacts and metadata (
latest.yml, platform-specific files) to the correct GitHub release or pre-release, instead of a custom/generic update server.
- Add an internal "update channel" setting (e.g.
updateChannel = "stable" | "canary") that controls whether the app considers GitHub pre-releases or only full releases when calling autoUpdater.checkForUpdatesAndNotify().
Acceptance criteria
- Stable users only see updates when a new GitHub Release (not marked as pre-release) is published with valid update assets for their platform.
- Canary users can receive updates from GitHub pre-releases, and the app correctly differentiates between canary and stable versions when checking for updates.
- No manual feed URL management is required in the app code; configuration is driven via electron-builder / electron-updater publish settings and GitHub Releases.
What do you need? / 你需要什么?
Summary
Switch the DeepChat auto-update mechanism back to using GitHub Releases as the update provider, and introduce a simple channel model where canary builds come from pre-releases and stable builds only track published releases.
Motivation
Desired behavior
x.y.z,x.y.z-canary.n), and update checks use electron-updater's standardlatest.yml/ GitHub metadata flow without custom feed URLs.Implementation notes
electron-updaterwith the GitHub provider configuration so that release metadata and assets are published as GitHub Releases artifacts in CI.latest.yml, platform-specific files) to the correct GitHub release or pre-release, instead of a custom/generic update server.updateChannel = "stable" | "canary") that controls whether the app considers GitHub pre-releases or only full releases when callingautoUpdater.checkForUpdatesAndNotify().Acceptance criteria