From eae4ccd4c69bf204b2b2702f98bb312c1df7e21d Mon Sep 17 00:00:00 2001 From: Macbook Date: Sun, 14 Jun 2026 11:55:03 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20Mac=20desktop=20updater=20=E2=80=94=20v0?= =?UTF-8?q?.1.2=20with=20signed=20pubkey;=20clearer=20errors?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rebuild dmg with real updater.pub. Improve check failure messages and fix publish signing when TAURI_SIGNING_PRIVATE_KEY is set. Co-authored-by: Cursor --- desktop/src/bridge/updater.ts | 7 +++++-- scripts/publish-desktop-update.sh | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/desktop/src/bridge/updater.ts b/desktop/src/bridge/updater.ts index ab2dab2..121731d 100644 --- a/desktop/src/bridge/updater.ts +++ b/desktop/src/bridge/updater.ts @@ -37,8 +37,11 @@ function formatUpdateError(e: unknown): string { const msg = e instanceof Error ? e.message : String(e ?? ''); const lower = msg.toLowerCase(); if (!msg.trim()) return '업데이트 확인에 실패했습니다.'; - if (/json|parse|unexpected end|eof|empty/.test(lower)) { - return '서버 업데이트 정보(latest.json)를 읽을 수 없습니다. PC 프로그램 탭에서 새 dmg를 받아 주세요.'; + if (/could not fetch a valid release json|release not found/.test(lower)) { + return '업데이트 서버 응답을 처리하지 못했습니다. 잠시 후 다시 시도하거나 PC 프로그램 탭에서 dmg를 새로 설치해 주세요.'; + } + if (/json|parse|unexpected end|eof|empty|deserialize|invalid value for/.test(lower)) { + return '서버 업데이트 정보(latest.json) 형식 오류입니다. PC 프로그램 탭에서 새 dmg를 받아 주세요.'; } if (/signature|pubkey|verify|minisign|invalid key/.test(lower)) { return '업데이트 서명 검증에 실패했습니다. 웹 PC 프로그램 탭에서 설치 파일을 다시 받아 주세요.'; diff --git a/scripts/publish-desktop-update.sh b/scripts/publish-desktop-update.sh index 2572e90..57971d1 100755 --- a/scripts/publish-desktop-update.sh +++ b/scripts/publish-desktop-update.sh @@ -52,6 +52,7 @@ if [[ -f "$KEY_PATH" ]]; then [[ -f "$bundle" ]] || continue [[ "$bundle" == *.sig ]] && continue log "Signing $(basename "$bundle")" + unset TAURI_SIGNING_PRIVATE_KEY TAURI_SIGNING_PRIVATE_KEY_PASSWORD 2>/dev/null || true (cd "$DESKTOP_DIR" && npx tauri signer sign -f "$KEY_PATH" -p "${TAURI_SIGNING_PRIVATE_KEY_PASSWORD-}" "$bundle") done shopt -u nullglob