Skip to content

fix(updater): 修复版本显示与更新下载超时,扩展镜像源并增加多源重试容灾 - #111

Closed
Mitpoppy wants to merge 1 commit into
ElainaCore:mainfrom
Mitpoppy:fix/updater
Closed

Mitpoppy wants to merge 1 commit into
ElainaCore:mainfrom
Mitpoppy:fix/updater

Conversation

@Mitpoppy

Copy link
Copy Markdown

📌 问题背景

  1. 版本信息显示为空 / 未知:

    • 全新部署或克隆安装时,由于 data/version.json 被忽略未纳入版本控制,FrameworkUpdater 读取不到版本文件,导致管理后台系统更新页面当前版本显示为空或 unknown。
  2. 下载更新容易挂起或超时报错:

    • 原有加速源(如部分不可用/不稳定的代理)在部分网络环境下极易出现连接超时或挂起;
    • 原更新下载流程无多镜像自动熔断重试机制,单一镜像失败即直接阻断更新流程。

🛠️ 解决方案与变更

  1. 版本自动回退识别 (web/tools/_updater/framework.py):

    • 当 data/version.json 不存在或版本为 unknown 时,自动通过本地 git rev-parse --short HEAD 读取当前 commit SHA 及提交时间,并自动保存初始化 version.json,确保初次安装版本信息即刻可见。
  2. 更新下载容灾增强与多源重试 (web/tools/_updater/framework.py):

    • 增加候选镜像重试机制(优先自定义镜像/缓存最优镜像,失败则自动切换备用稳定镜像);
    • 采用 32KB 分块流式下载与更合理的网络超时控制,并在失败时自动清理残余临时文件;
    • 兼容支持指定 Commit SHA 归档下载。
  3. 国内高可用镜像列表扩充 (web/tools/_updater/shared.py):

    • 补充完善了当前国内可用的稳定镜像源列表(如 ghfast.top、gh-proxy.com、ghproxy.net 等)。

@lengxi-root

Copy link
Copy Markdown
Collaborator

git可能部分用户未安装,容灾增强与多源重试与高可用镜像列表已扩充

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants