Skip to content

Undefined v3.7.1

Choose a tag to compare

@github-actions github-actions released this 11 Jul 07:11
· 20 commits to main since this release
v3.7.1
7639306

v3.7.1 WebUI Release 更新提示

本版本将更新流程从启动时自动拉取改为 WebUI 内的可控交互:页面登录后在后台静默检查最新正式 GitHub Release,仅在发现新版本时提示用户,并在明确确认后拉取对应 Release 标签并重启。

变更内容

  • 新增 WebUI Release 更新检查。鉴权成功后异步查询 69gg/Undefined 的最新正式 GitHub Release,不阻塞页面或主事件循环;后端提供 15 分钟缓存,并让成功或失败的并发请求共享同一个在途任务,概览页也可随时手动检查。
  • 新增更新确认对话框。检测到新版本时展示当前版本、目标版本和 Release 链接,并提供“稍后”与“拉取并重启”操作;对话框作为全局 overlay 在 Landing 与 App 视图均可正常使用,同时补齐中英文文案、键盘焦点管理、移动端布局、错误与不可更新状态提示。
  • 收紧自动拉取边界。仅允许官方 origin、本地 main 和干净工作区,确认前重新校验目标版本;更新时验证 Release 标签属于官方 main 且可从当前提交快进,再精确更新到该标签,避免拉取尚未正式发布的后续提交。
  • 完善更新后的恢复流程。代码更新后同步子模块,并仅在 Python 依赖清单变化时执行 uv sync;依赖同步失败会取消自动重启,成功后恢复更新前的 Bot 运行状态并重启 WebUI。
  • 加固更新请求生命周期。Release 更新操作设置 30 分钟总等待上限,重启任务由模块持有到完成,Bot 自动恢复标记统一写入仓库根目录下的 data/cache/;Release 外链仅接受 HTTPS 地址。
  • 新增 [webui].check_updates 配置,默认开启并支持热更新;关闭后只停用页面打开时的自动检查,不影响手动检查。
  • 移除 Bot 与 WebUI 启动阶段原有的无确认自动拉取和重启逻辑,更新行为统一由 WebUI 用户显式触发;同步更新配置模板、使用文档、Management API 能力声明及后端、前端和 Git 更新回归测试。

📝 Detailed Changes

🚀 Features

  • feat(webui): add GitHub Release update prompts (#85) (7639306)