mirror of
https://github.com/binaricat/Netcatty.git
synced 2026-10-09 15:58:34 +00:00
81d1b4602d
* feat: add auto-update support via electron-updater (#289) - Add autoUpdateBridge.cjs wrapping electron-updater for check/download/install - Register bridge in main.cjs, expose IPC in preload.cjs - Add auto-update methods to NetcattyBridge type in global.d.ts - Extend updateService.ts with electron-updater bridge functions - Add Software Update section in Settings > System tab with state machine UI - Add i18n keys for update UI (en + zh-CN) - Add publish config for GitHub Releases in electron-builder.config.cjs - Update CI workflow to upload update metadata (*.yml, *.blockmap, *.zip) - Fallback to manual GitHub download for unsupported platforms or errors * fix: address Codex review - guard bridge call and pin sender window - Guard optional bridge call in SettingsSystemTab to prevent TypeError when getAppInfo is unavailable (e.g. browser/dev/test rendering) - Capture senderWindow at download initiation in autoUpdateBridge so progress/downloaded/error events always go to the requesting renderer, even if focus changes during download * fix: use semver ordering for version check and clean up listeners on rejection - Replace strict equality (===) with localeCompare for version comparison to avoid false positives on pre-release/nightly builds - Clean up download-progress/update-downloaded/error listeners in the catch path when downloadUpdate() rejects before emitting events * feat: redirect update toast to Settings window for in-app update - Update toast notification now opens Settings window instead of GitHub Releases page, enabling the in-app download/install flow - Add 'update.viewInSettings' i18n key (en + zh-CN) - Remove unused openReleasePage from App.tsx destructuring - Move useWindowControls() before the update effect to fix declaration order