Repository navigation
v0.3.3
这一版把「有新版了」这件事从菜单栏挪进控制台。 此前提示只挂在托盘菜单的一行
文字上,装了 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 阶段就会拦下。