Repository navigation
v1.4.3
本次发布
v1.4.3 是修复版本,包含 v1.4.2 之后合入的 PR #9 和 #10,主要修复 Windows 上安装、收尾和统计的问题,并加固运行时同步验收。状态条界面和注入入口(overlay.js、inject-main.cjs)没有改动。
修复与改进
- Windows 上安装失败:在部分 Windows 环境(NTFS 加杀毒软件过滤驱动)下,按路径和按文件句柄读到的同一文件的创建时间(ctime)不一致,安装流程会报
file changed before hashing并失败。现在 Windows 的文件指纹不再比较 ctime,macOS 和 Linux 不变。从 1.4.2 升级时,还没收尾的待替换包仍能继续收尾或重新安装。 - 自定义安装位置探测:ZCode 装在
D:\Program Files\ZCode、<盘符>:\ZCode这类位置时,现在能自动找到。只扫描本地固定盘,网络盘和可移动盘不扫描,装在那里请设置ZCODE_ASAR。每个候选都会先确认确实是 ZCode,结构异常的 app.asar 直接跳过,不再报错退出。 - Windows 安装收尾更及时:客户端运行时安装,收尾监控现在等待 ZCode 进程退出事件,ZCode 一退出就完成 app.asar 替换,不会再因为“退出后马上重开”而错过替换时机。从 agent 或工具会话里安装时,监控进程会尽量脱离会话的作业对象(Job),不再随会话结束被一起关掉。
- 逐问速率行(⚡)间歇丢失:
--current守卫对提问时刻加了 3 秒容差,修复部分环境下速率行时有时无的问题。Windows 上状态文件被其它进程短暂占用时会重试写入,避免丢失提问时刻。 - 运行时同步验收:
- app.asar 旁边的可执行文件无法启动或卡住不退出时,改用 PATH 中的
node完成验收;同一次同步里,失败的候选只尝试一次。 - 超时后会结束整个进程树,不会再一直等待。
- 验收输出和语法检查报错改按 UTF-8 读取。修复了中文 Windows 上插件路径含中文(例如中文用户名)时验收失败或报错的问题。
- app.asar 旁边的可执行文件无法启动或卡住不退出时,改用 PATH 中的
- 发布包可复现:发布包与源码提交逐字节一致,仓库统一使用 LF 行尾,同一版本在不同平台上构建出的包完全相同。
安装与升级注意
- 资产:
zcode-token-usage-statusbar-v1.4.3.zip和release-manifest.json。manifest 里的 SHA256 只用于校验下载完整性,不是独立的数字签名。 - 本版没有改动状态条界面和注入入口,升级后不需要重新注入 app.asar。安装和统计脚本会在插件更新后的下一次会话启动时同步到运行时目录。
- 更新渠道是
ByteRax/zcode-token-usage-statusbar#plugin-releases,本 Release 验收后会更新到 1.4.3。在其它 ref 注册市场的用户不会自动迁移。Release 发布不代表客户端已安装新版本,以本机实际安装状态为准。
验证
- 在本地(macOS)跑了全量测试:Python 349 项通过(1 项因平台跳过),Node 185 项通过。其中包括本版新增的回归用例:旧版待替换包的收尾和重装、CRLF 检出拦截、句柄等待、固定盘过滤、验收器卡住时的回退和进程树结束、UTF-8 解码等。
- Windows 专有逻辑(句柄等待、固定盘判断、taskkill、ctime 指纹)只在 macOS 上用模拟和跨平台用例覆盖。ec170ac 中的指纹、盘符探测和事件驱动等待曾在 Windows 实机测过,之后的复审修复还没有在 Windows 实机上验收。
- 发布包用
release_tool.py build按白名单构建,并通过了verify:两份 manifest 和市场条目的版本一致(都是 1.4.3),SHA256 和字节数核对一致。
提交范围
- 比较:v1.4.2...v1.4.3(v1.4.2...v1.4.3)