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>
26 lines
1.2 KiB
TypeScript
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
|
|
}
|