Files
CodePilot/electron/updater.ts
T
7418andClaude Opus 4.6 ad34fe387b chore: 禁用 native auto-updater,改为引导用户从 GitHub 下载
macOS 上 ad-hoc 签名无法通过 ShipIt 的 kSecCSStrictValidate 校验,
导致热更新始终失败。在获取 Apple 开发者证书之前,暂时禁用 native
auto-updater,改为 browser-mode 检查 GitHub Releases API:

- electron/updater.ts: 注释掉 electron-updater 逻辑,initAutoUpdater
  和 setUpdaterWindow 改为 no-op
- electron/preload.ts: 注释掉 updater IPC bridge,前端不再暴露
  window.electronAPI.updater
- AppShell.tsx: isNativeUpdater 硬编码为 false,移除 native IPC 订阅
  和 native check/download/quitAndInstall 逻辑;保留 browser-mode
  的 GitHub API 检查(mount 时 + 每 8 小时),发现新版本时弹窗引导
  用户跳转 GitHub Release 页面下载

设置页 UpdateCard 保持不变:「检查更新」按钮通过 /api/app/updates
查询 GitHub,有新版本时显示「查看发布」按钮跳转下载。

TODO: 获取 Apple 开发者证书后,取消注释恢复 native auto-updater。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 11:45:36 +08:00

26 lines
1.2 KiB
TypeScript

// =============================================================================
// Native auto-updater (electron-updater) — DISABLED
//
// Temporarily disabled due to macOS code signature validation failures with
// ad-hoc signing. Users are directed to download from GitHub Releases instead.
// The browser-mode update check (via /api/app/updates) remains active in the
// frontend to notify users of new versions.
//
// TODO: Re-enable after obtaining an Apple Developer certificate for proper
// code signing, then uncomment this file and the calls in main.ts / preload.ts.
// =============================================================================
// import { autoUpdater } from 'electron-updater';
import type { BrowserWindow } from 'electron';
// import { ipcMain, session } from 'electron';
// eslint-disable-next-line @typescript-eslint/no-unused-vars
export function initAutoUpdater(_win: BrowserWindow) {
console.log('[updater] Native auto-updater is disabled. Users should download updates from GitHub Releases.');
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
export function setUpdaterWindow(_win: BrowserWindow) {
// no-op while native updater is disabled
}