Compare commits

..
Author SHA1 Message Date
AxTps c273734aec fix: 临时回退内置自动更新以修复启动崩溃
Axolotl desktop CI / guardrails (push) Has been cancelled
Axolotl desktop CI / desktop (macos-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (ubuntu-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (windows-latest) (push) Has been cancelled
Axolotl desktop CI / website (push) Has been cancelled
Repository checks / typos (push) Has been cancelled
Repository checks / tombi (push) Has been cancelled
Rust checks / shear (push) Has been cancelled
Sync source to CNB / Sync Git ref (push) Has been cancelled
Starlight release / Release preflight (push) Has been cancelled
Prepare pnpm cache / prepare (push) Has been cancelled
Starlight release / Build (Windows x64) (push) Has been cancelled
Starlight release / Build (Linux arm64) (push) Has been cancelled
Starlight release / Build (Linux x64) (push) Has been cancelled
Starlight release / Build (macOS universal) (push) Has been cancelled
Starlight release / Verify and publish (push) Has been cancelled
1.0.0-beta14 启用内置更新后,Windows 上一打开即崩溃(c0000409 栈
溢出)。暂时将 are_updates_enabled 改回 false,待定位并修复崩溃后
再重新启用。

- main.rs: are_updates_enabled 恢复返回 false;
- catalog.ts: 增量新增 1.0.0-beta15 公告;
- 网站 catalog.json 重新生成。
2026-09-26 09:56:52 +08:00
AxTps f89cbff37e docs: README 链接改指向 GitHub
Axolotl desktop CI / guardrails (push) Has been cancelled
Axolotl desktop CI / desktop (macos-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (ubuntu-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (windows-latest) (push) Has been cancelled
Axolotl desktop CI / website (push) Has been cancelled
Repository checks / typos (push) Has been cancelled
Repository checks / tombi (push) Has been cancelled
Rust checks / shear (push) Has been cancelled
Sync source to CNB / Sync Git ref (push) Has been cancelled
将仓库、Releases、Stars 及最新版下载等链接从自建 git.starlight.cool
改为 GitHub (github.com/ApTx2012/Starlight_Lancher)。
2026-09-26 08:19:01 +08:00
AxTps f92aee9b4c feat: 启用内置自动更新
Axolotl desktop CI / guardrails (push) Has been cancelled
Axolotl desktop CI / desktop (macos-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (ubuntu-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (windows-latest) (push) Has been cancelled
Axolotl desktop CI / website (push) Has been cancelled
Repository checks / typos (push) Has been cancelled
Repository checks / tombi (push) Has been cancelled
Rust checks / shear (push) Has been cancelled
Sync source to CNB / Sync Git ref (push) Has been cancelled
Starlight release / Release preflight (push) Has been cancelled
Prepare pnpm cache / prepare (push) Has been cancelled
Starlight release / Build (Windows x64) (push) Has been cancelled
Starlight release / Build (Linux arm64) (push) Has been cancelled
Starlight release / Build (Linux x64) (push) Has been cancelled
Starlight release / Build (macOS universal) (push) Has been cancelled
Starlight release / Verify and publish (push) Has been cancelled
- are_updates_enabled 由硬编码 false 改为 true,正式启用内置更新器
  (更新端点与签名公钥由 tauri-release.conf.json 配置)。
- catalog.ts 新增 1.0.0-beta14 公告(增量追加,保留历史版本)。
- 网站 catalog.json 由 catalog.ts 重新生成。
2026-09-26 07:52:06 +08:00
AxTps 2192a19d50 chore: 移除 1.0.0-beta1 之前的版本公告
Axolotl desktop CI / guardrails (push) Has been cancelled
Axolotl desktop CI / desktop (macos-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (ubuntu-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (windows-latest) (push) Has been cancelled
Axolotl desktop CI / website (push) Has been cancelled
Repository checks / typos (push) Has been cancelled
Repository checks / tombi (push) Has been cancelled
Rust checks / shear (push) Has been cancelled
Sync source to CNB / Sync Git ref (push) Has been cancelled
清理上游遗留的旧版本公告(1.9.6-beta.3 ~ 1.4.0),只保留本项目
自己的版本记录(1.0.0-beta1 及之后的 1.0.0-beta13)。

- catalog.ts 删除 49 条旧公告;
- 网站 catalog.json 由 create-website-release-catalog.mjs 从
  catalog.ts 重新生成,现仅含 1.0.0-beta13 与 1.0.0-beta1。
2026-09-26 07:35:49 +08:00
AxTps 9411d0945a fix(release): 修正 updater 清单的下载 URL 与发布顺序
Axolotl desktop CI / guardrails (push) Has been cancelled
Axolotl desktop CI / desktop (macos-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (ubuntu-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (windows-latest) (push) Has been cancelled
Axolotl desktop CI / website (push) Has been cancelled
Repository checks / typos (push) Has been cancelled
Repository checks / tombi (push) Has been cancelled
Rust checks / shear (push) Has been cancelled
Sync source to CNB / Sync Git ref (push) Has been cancelled
Starlight release / Release preflight (push) Has been cancelled
Prepare pnpm cache / prepare (push) Has been cancelled
Starlight release / Build (Windows x64) (push) Has been cancelled
Starlight release / Build (Linux arm64) (push) Has been cancelled
Starlight release / Build (Linux x64) (push) Has been cancelled
Starlight release / Build (macOS universal) (push) Has been cancelled
Starlight release / Verify and publish (push) Has been cancelled
发布时 verify update manifest 失败:draft release 的资产 URL 为
`.../releases/download/untagged-<hash>/...`,而校验要求 URL 含 tag 名。

- create-update-manifest.mjs 不再依赖 draft release 的
  browser_download_url,改为按 tag 与资产名自行拼接稳定的
  `.../releases/download/<tag>/<name>` 地址。
- build-on-tag.yml 将 Publish release 提前到生成/校验清单之前,
  使清单在 release 已发布后生成;并移除多余的
  “Refresh published GitHub release metadata” 步骤。
- catalog.ts 版本公告更新为 1.0.0-beta13。
2026-09-26 06:04:02 +08:00
6 changed files with 169 additions and 6119 deletions

No files matched your search

+14 -25
View File
@@ -303,6 +303,20 @@ jobs:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release download "${GITHUB_REF_NAME}" --pattern '*.sig' --dir release-check/signatures
# Publish the draft release before generating the updater manifest. While
# the release is a draft GitHub reports asset URLs as
# `.../releases/download/untagged-<hash>/...`; only after publishing does
# the manifest point at the stable `.../releases/download/<tag>/...` path.
- name: Publish release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if [[ "${GITHUB_REF_NAME}" == *-* ]]; then
gh release edit "${GITHUB_REF_NAME}" --draft=false --prerelease
else
gh release edit "${GITHUB_REF_NAME}" --draft=false --latest
fi
- name: Download release metadata
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -329,31 +343,6 @@ jobs:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release upload "${GITHUB_REF_NAME}" release-check/latest.json --clobber
- name: Publish release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if [[ "${GITHUB_REF_NAME}" == *-* ]]; then
gh release edit "${GITHUB_REF_NAME}" --draft=false --prerelease
else
gh release edit "${GITHUB_REF_NAME}" --draft=false --latest
fi
- name: Refresh published GitHub release metadata
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
release_id="$(
gh api "repos/${GITHUB_REPOSITORY}/releases" \
--paginate \
--jq ".[] | select(.tag_name == \"${GITHUB_REF_NAME}\") | .id"
)"
if [[ -z "$release_id" ]]; then
echo "Published release ${GITHUB_REF_NAME} was not found"
exit 1
fi
gh api "repos/${GITHUB_REPOSITORY}/releases/${release_id}" > release-check/release.json
- name: Build Update Server artifact catalog
run: |
node scripts/axolotl/create-update-server-catalog.mjs \
+6 -6
View File
@@ -5,13 +5,13 @@
<p><strong>次世代 Minecraft 桌面客户端,全能、美观、全平台覆盖。</strong></p>
<p>
<a href="https://git.starlight.cool/AxTps/Starlight_Lancher/actions">
<img src="https://img.shields.io/badge/Repo-git.starlight.cool-blue?style=for-the-badge&logo=git" alt="Repository" />
<a href="https://github.com/ApTx2012/Starlight_Lancher/actions">
<img src="https://img.shields.io/badge/Repo-GitHub-black?style=for-the-badge&logo=github" alt="Repository" />
</a>
<a href="https://git.starlight.cool/AxTps/Starlight_Lancher/releases">
<a href="https://github.com/ApTx2012/Starlight_Lancher/releases">
<img src="https://img.shields.io/badge/Releases-Download-green?style=for-the-badge&logo=github" alt="Releases" />
</a>
<a href="https://git.starlight.cool/AxTps/Starlight_Lancher/stargazers">
<a href="https://github.com/ApTx2012/Starlight_Lancher/stargazers">
<img src="https://img.shields.io/badge/Stars-★-ffb800?style=for-the-badge&logo=github" alt="Stars" />
</a>
<a href="COPYING.md">
@@ -21,7 +21,7 @@
<p>
<a href="https://skin.starlight.cool/">官方网站</a> |
<a href="https://git.starlight.cool/AxTps/Starlight_Lancher/releases/latest">下载最新版</a> |
<a href="https://github.com/ApTx2012/Starlight_Lancher/releases/latest">下载最新版</a> |
<a href="CONTRIBUTING.md">参与贡献</a>
| <a href="CODE_OF_CONDUCT.md">行为准则</a>
</p>
@@ -57,7 +57,7 @@ _(注:本项目是调用 Modrinth 公开 API 的独立客户端,与 Rinth, I
## 下载与安装
请前往 [Releases](https://git.starlight.cool/AxTps/Starlight_Lancher/releases/latest) 下载适合你操作系统的最新安装包。
请前往 [Releases](https://github.com/ApTx2012/Starlight_Lancher/releases/latest) 下载适合你操作系统的最新安装包。
已安装的用户每次均可通过内置的 Tauri 签名校验机制,自动在后台完成更新,无需手动下载安装更新。
| 系统平台 | 推荐下载文件 |
File diff suppressed because it is too large. Load diff
+2 -2
View File
@@ -569,9 +569,9 @@ fn is_dev() -> bool {
#[tauri::command]
fn are_updates_enabled() -> bool {
// Temporarily disabled: enabling the built-in updater causes an immediate
// crash on Windows (c0000409) at startup, pending a fix.
// StarLight launcher ships without the built-in update checker.
// Keep the backend interface in place for a future user-supplied
// update URL to be wired in by replacing this no-op gate later.
false
}
File diff suppressed because it is too large. Load diff
+12 -6
View File
@@ -1,6 +1,15 @@
import fs from 'node:fs'
import path from 'node:path'
// Build a stable release download URL from the tag and asset name instead of
// relying on `browser_download_url`. While the release is still a draft GitHub
// reports the asset URL as `.../releases/download/untagged-<hash>/...`, which
// would make the updater manifest point at a path that disappears once the
// release is published.
function buildDownloadUrl(assetName, versionTag) {
const repository = process.env.GITHUB_REPOSITORY || 'ApTx2012/Starlight_Lancher'
return `https://github.com/${repository}/releases/download/${versionTag}/${encodeURIComponent(assetName)}`
}
const [releasePath, signaturesPath, tag, outputPath] = process.argv.slice(2)
if (!releasePath || !signaturesPath || !tag || !outputPath) {
@@ -52,10 +61,7 @@ for (const target of targets) {
}
const signature = fs.readFileSync(signaturePath, 'utf8')
const url = asset.browser_download_url ?? asset.url
if (!url) {
throw new Error(`Release asset ${asset.name} does not contain a download URL`)
}
const url = buildDownloadUrl(asset.name, tag)
for (const platform of target.platforms) {
platforms[platform] = { signature, url }
@@ -81,8 +87,8 @@ for (const target of [
)
}
const asset = matches[0]
const url = asset.browser_download_url ?? asset.url
if (!url || !Number.isSafeInteger(asset.size) || asset.size <= 0) {
const url = buildDownloadUrl(asset.name, tag)
if (!Number.isSafeInteger(asset.size) || asset.size <= 0) {
throw new Error(`Release asset ${asset.name} has invalid download metadata`)
}
apt[target.platform] = {