Skip to content

v0.3.3

Choose a tag to compare

@github-actions github-actions released this 20 Aug 01:28
· 2864 commits to main since this release

这一版把「有新版了」这件事从菜单栏挪进控制台。 此前提示只挂在托盘菜单的一行
文字上,装了 v0.3.0 的用户会问「怎么没显示更新」,点开也只是跳到发布页;现在它是
控制台右下角的提示框,从提示到下载完成都在同一个界面里。从 v0.3.2 升级无需改配置。

新增

  • 控制台右下角的更新提示框。 有新版、下载中、已下载、同步失败四种状态各有自己
    的样子,点主按钮就开始下载。只有在桌面薄壳里打开控制台时才出现——用浏览器直接
    访问控制台的用户看不到它,因为那种情况下没有可更新的桌面端。
  • 设置页新增「更新」分区(/settings?section=update):桌面应用、同步状态、
    执行机三块,一屏说清哪台在什么版本。
  • 执行机一键升级。 更新页上每台执行机一个按钮,点了就把那台的 agentd 升到最新,
    与 handoff upgrade 走的是同一套结论判据(忙碌可 --force 跨过、非托管永不跨过)。
    新增 POST /api/machines/{name}/upgrade。
  • agentd 负责下载桌面端安装包:下载、按 checksums.txt 校验 sha256、完成后唤起
    文件管理器打开它,最后一下(拖进 Applications / 跑安装程序)留给用户。新增
    POST /api/update/download。
  • 薄壳每 10 秒向本机 agentd 单向上报一次自身状态(版本、平台),agentd 中转给控制台,
    带 30 秒 TTL。方向是单向的:控制台是薄壳里的一个外部 URL,两边没有互相调用的
    通道,也不需要有。

变更

  • 托盘菜单瘦身到两项(打开控制台、退出),图标换成 handoff 标志的单色模板图,
    在浅色与深色菜单栏下自动适配。原先挂在托盘上的「有新版可下载」「升级执行机…」
    连同那个升级面板一起删掉了——它们的位置在控制台里。

修复

  • desktop 嵌套 module 的依赖与主模块对齐,并把这道门加进 CI。v0.3.2 的发布流水线
    三个桌面端构建 job 全部卡在「确认工作区干净」上,根因是主模块的云 relay 引入了
    noise / yamux / x/crypto,而 desktop/go.mod 没跟上;这种漂移此前只在推完
    tag 之后
    才暴露,那时版本号已经用掉了。现在 PR 阶段就会拦下。