File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 9090- Sparkle 接入推进:已建立 ` 20260427-macos-sparkle-updater ` space,补齐架构文档,并新增 Sparkle plist 注入、官方 xcframework 下载、app bundle framework 嵌入脚本;release workflow 现可通过 ` SPARKLE_ENABLE=1 ` 启用实验链路,但运行时 bridge 仍未真正接管更新入口。
9191- Sparkle 接入推进(二):` internal/sparkle ` 已改为动态加载 ` Sparkle.framework ` 的 darwin bridge,` wailsapp ` 与设置页已能识别原生更新 UI 模式;当前 macOS 更新入口可切到 Sparkle 实验路径,但还缺 appcast 与真实升级回归。
9292- Sparkle 接入推进(三):新增 ` scripts/generate-sparkle-appcast.sh ` 与对应测试,release workflow 现在可在 ` SPARKLE_ENABLE=1 ` 时用 Sparkle 官方 ` generate_appcast ` 基于 notarized ` .dmg ` 生成签名后的 ` appcast.xml ` ,并推送到 ` sparkle-appcast ` 分支供 ` raw.githubusercontent.com ` 托管稳定 feed。
93+ - Sparkle 正式 release 首次回归(` v0.1.7 ` )失败点已定位:仅 ` macOS amd64 ` 在 ` Embed Sparkle framework ` 阶段拿到损坏的 Sparkle zip(约 55 KB HTML/错误页),不是 framework 集成本身失败;已把 ` scripts/prepare-sparkle-framework.sh ` 改成 ` curl --fail --retry --retry-all-errors ` 并在下载后执行 ` unzip -tq ` 校验,不合法则重试。
9394
9495## Wails Window Drag Region
9596- 当前窗口拖不动的根因已确认:` main.go ` 启用了 ` mac.TitleBarHiddenInset() ` ,但前端此前没有任何 ` --wails-draggable ` 区域,导致 macOS 将整个壳层视为普通 Web 内容。
Original file line number Diff line number Diff line change @@ -13,9 +13,28 @@ SPARKLE_XCFRAMEWORK_DIR="${SPARKLE_WORK_DIR}/Sparkle.xcframework"
1313
1414mkdir -p " ${SPARKLE_WORK_DIR} "
1515
16- if [[ ! -f " ${SPARKLE_ZIP_PATH} " ]]; then
17- echo " Downloading Sparkle ${SPARKLE_VERSION} from ${SPARKLE_DOWNLOAD_URL} " >&2
18- curl -L -o " ${SPARKLE_ZIP_PATH} " " ${SPARKLE_DOWNLOAD_URL} "
16+ download_sparkle_zip () {
17+ local attempt
18+ local max_attempts=5
19+
20+ for attempt in $( seq 1 " ${max_attempts} " ) ; do
21+ rm -f " ${SPARKLE_ZIP_PATH} "
22+ echo " Downloading Sparkle ${SPARKLE_VERSION} from ${SPARKLE_DOWNLOAD_URL} (attempt ${attempt} /${max_attempts} )" >&2
23+ curl --fail --location --retry 3 --retry-all-errors --retry-delay 2 -o " ${SPARKLE_ZIP_PATH} " " ${SPARKLE_DOWNLOAD_URL} "
24+
25+ if unzip -tq " ${SPARKLE_ZIP_PATH} " > /dev/null 2>&1 ; then
26+ return 0
27+ fi
28+
29+ echo " Downloaded Sparkle archive is not a valid zip, retrying..." >&2
30+ done
31+
32+ echo " Failed to download a valid Sparkle archive after ${max_attempts} attempts." >&2
33+ exit 1
34+ }
35+
36+ if [[ ! -f " ${SPARKLE_ZIP_PATH} " ]] || ! unzip -tq " ${SPARKLE_ZIP_PATH} " > /dev/null 2>&1 ; then
37+ download_sparkle_zip
1938fi
2039
2140if [[ ! -d " ${SPARKLE_XCFRAMEWORK_DIR} " ]]; then
You can’t perform that action at this time.
0 commit comments