0.3.0 修复与本地发布检查
2026-10-08,Windows 11 x64、Node 24.21.0、Rust 1.98,以及本机 Edge/WebView2。
本记录覆盖费用卡片、Codex 和设置页修复。软件更新与十种语言的用语核查保留在
独立记录。临时探针、截图、数据库副本和日志位于
build/release-030/,浏览器截图位于 build/browser-smoke/。
视觉复现与控件
失败的浏览器回归在 1660/1920 像素宽度下复现了总览和趋势的溢出。 1660 像素下八列布局使趋势费用卡片的内容区约为 143 像素,而单行 USD 换算金额 需要约 249 像素。主金额已有省略规则,换算金额和分档提示没有。 截图检查确认文字超出卡片并被截断。现将每个紧凑子项限制在内容区内,并使用省略号。 悬浮提示保留原币种和换算后的完整金额区间,金额、汇率和舍入规则不变。
Edge 检查通过总览和趋势的 760/1440/1660/1920 像素布局。设置检查覆盖常规、 启动与后台、费用、软件更新中的自定义开关,以及空格键、标签点击、保存设置; 导出范围的自定义复选框及系统高对比度回退也通过检查。启停使用开关,导出多选 保留复选框语义,参考 WAI 模式。 已视觉检查最终截图。初版悬浮提示断言误选了替代参考提示,已改为实际 USD 换算项。
Codex 原生数据调查
只读查询复现了 251 个正常、48 个兼容读取、三个需核对、28 个不兼容文件。 已检查全部 79 个提示文件,移除正文、对身份字段取哈希,并将 token 字段限定为 六个原生计数器。受查文件内部的会话元数据均一致标明其自身版本。79 个文件的 JSON 和保留的数字用量均有效,非空的压缩携带记录没有格式错误。
| 原生版本 | 受查文件 | 所选样本调用数 | 解析器 |
|---|---|---|---|
| 0.148.0-alpha.21 | 1 | 1 | rollout_legacy |
| 0.149.0-alpha.4 | 3 | 61 | rollout_legacy |
| 0.150.0-alpha.8 | 8 | 12 | rollout_legacy |
| 0.150.0-alpha.12.2 | 5 | 6 | rollout_legacy |
| 0.151.0-alpha.7.2 | 12 | 3 | rollout_legacy |
| 0.153.4 | 11 | 25 | rollout_v1 |
| 0.155.0-alpha.16 | 18 | 2 | rollout_v1 |
| 0.162.0-alpha.2 | 21 | 1 | rollout_v1 |
28 个不兼容文件使用旧式 token_count 增量,但精确版本未登记,因而被交给了
新格式兼容解析器。现增加五个旧格式和三个新格式的精确版本条目。
未知版本仍须兼容检查,不按 alpha 版本范围统一认定支持。原生版本字段和本地记录
只验证这些样本,不宣称所有官方发行版或其他传输方式具有相同字段。
三个需核对的 0.153.4 文件在压缩记录中含有 latest_token_usage_record: null。
null 与字段缺失一样表示没有携带调用。解析器现跳过空值,非空的错误对象仍报错。
解析版本 codex-rollout-5 会自动复核已消费且内容不变的旧游标,不清库、不丢历史。
八个脱敏样本及独立的六字段期望值位于
desktop/src-tauri/crates/core/tests/fixtures/codex/releases-030/。
新回归在修复映射前失败;修复后两个新测试通过,覆盖八个原生版本、111 个所选调用、
重复读取、旧解析游标和缺失/空/错误携带记录。五个现有健康与重读回归也通过。
累计差异保留原诊断,文件状态正常不承诺完整历史。
发布验证
根目录和 desktop 的 npm 清单及锁文件、Tauri 配置、两个 Rust 清单及 Cargo.lock 均为 0.3.0,打包脚本的版本检查返回 0.3.0。本地原生构建、旧数据库副本恢复和 最终验收结果记录在下文。创建本地 tag 不等于发布远程 Release,也不验证签名、 NSIS 更新生命周期、其他平台 GUI 或真实的新公开版本升级。
SQLite 在线备份包含运行中数据库的 WAL。仅修改独立副本,禁用非 Codex 来源,
原生 Codex 根目录只读。0.3.0 release 可执行文件的两次 --scan-once 均退出 0。
发现的 332 个 Codex 文件全部正常,其中包括两个较新的文件。原有 1,348 条事件的
身份、token、质量、模型/时间/供应商字段和原生费用完整保留。按现有保留策略,
保留的事件增至 1,568 条,重复读取后不变;冲突仍为零。诊断从 6,422 增至 26,615,
没有删除。原运行中数据库和现有开发软件未被修改,新可执行文件会在下次采集时
应用修正。
| 命令 | 结果 |
|---|---|
npm run verify |
退出 0;1,046 个 Rust、22 个前端、13 个脚本测试通过,八个平台测试忽略;类型、格式、Clippy 和前端构建通过 |
npm run test:browser |
退出 0;Edge 模拟 IPC,包括溢出与开关回归;已检查截图 |
npm run build:desktop |
退出 0;生成优化的 0.3.0 可执行文件和 x64 NSIS 包 |
npm run test:headless |
退出 0;11 项真实可执行文件/SQLite 检查,使用隔离的合成来源 |
npm run test:update:windows |
退出 0;三组原生公开版本检查/portable 替换/中断恢复,使用合成的新版本包 |
node desktop/tests/native-smoke.mjs --runs 1 |
退出 0;19 项真实 WebView2/IPC 检查,生命周期中三次启动采样,P95 987.08 ms;来源为隔离合成数据 |
npm run check:docs、npm run test:docs、npm run build:docs |
退出 0;202 对仓库译文、21 对指南、31 个测试、1,375 个页面和 2,880 个发布文件 |
| Windows 原生打包脚本 | 退出 0;重新解压、CPU 身份、SHA-256 和解压后隔离无窗口检查通过 |
首轮统一检查发现预期版本列表仍缺少八个新增条目,已更新独立的期望列表。
文档清单测试也补充了新证据页面的路由及数量。npm 在启动原生 GUI 测试之前
拒绝转发的 --runs,已改用直接 Node 入口。
本地 Windows portable 包为 4,200,402 字节,SHA-256 为
b90e4990bf07b4ffd73863796f750de65f8197e74a29bda09f0c59805a3c6de3。
NSIS 安装包为 4,126,266 字节,SHA-256 为
2c039e88830bbcd4894124e0fbb35f1c67d47f6072780de4b9d24fc57449f59b。
产物及报告位于 build/release-030/packages/,标记为本地工作区构建;
历史 0.2.2 CI/签名结果不验证这些包。