feat: switch to electron-updater for auto-updates
Replaces the custom server-poll updater (which depended on a placeholder serverUrl 'https://your-server.com/api' and never fired in practice) with electron-updater. Now a banner appears automatically when a new release is published — auto-download in background, in-place install via quitAndInstall, delta updates via blockmap. Changes: - Add electron-updater dep, build.publish (provider: generic, placeholder URL) - Rewrite UpdaterManager around autoUpdater events (available/progress/ downloaded/error), forwarded to renderer via window.webContents.send - Drop hardcoded APP_VERSION constant; main uses app.getVersion(), renderer fetches via new GET_APP_VERSION IPC channel - IPC: drop DOWNLOAD_UPDATE (autoDownload handles it), add INSTALL_UPDATE + GET_APP_VERSION - VersionInfo reshaped (currentVersion field, no downloadUrl/mandatory); add UpdateProgress and UpdateCheckResult types - UpdateNotification: 3-phase UI (downloading with progress bar, ready with restart-and-install, hidden); App.tsx tracks phase state TODO before first real release: - Replace build.publish.url placeholder with the actual generic host - Bump version, run package:win, upload latest.yml + .exe + .blockmap to host Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
"axios": "^1.6.2",
|
||||
"cheerio": "^1.0.0-rc.12",
|
||||
"electron-store": "^8.1.0",
|
||||
"electron-updater": "^6.8.3",
|
||||
"nedb": "^1.8.0",
|
||||
"uuid": "^9.0.1",
|
||||
"xml2js": "^0.6.2"
|
||||
@@ -53,6 +54,10 @@
|
||||
"directories": {
|
||||
"output": "release"
|
||||
},
|
||||
"publish": {
|
||||
"provider": "generic",
|
||||
"url": "https://your-update-server.example.com/media-center/"
|
||||
},
|
||||
"files": [
|
||||
"dist/**/*",
|
||||
"node_modules/**/*",
|
||||
|
||||
Reference in New Issue
Block a user