Skip to content

fix: address release readiness regressions - #512

Merged
iuyo5678 merged 6 commits into
mainfrom
fix/release-quality-regressions
Oct 28, 2026
Merged

iuyo5678 merged 6 commits into
mainfrom
fix/release-quality-regressions

Conversation

@iuyo5678

Copy link
Copy Markdown
Collaborator

修复发布前检查发现的导航误报超时、宽语义树解析开销、截图文件累积,以及日志和画中画窗口的生命周期缺陷。

  • 同文档锚点跳转和历史前进/后退按指定等待阶段完成;保留 frame、loader、URL、取消和后继导航的校验,同时覆盖浏览器 API 回退。
  • 缓存 DOM/AX 兄弟节点索引,每个节点只计算一次邻近文本。相同的 64k 节点合成输入,单遍解析约 4.49s → 157ms。
  • 长截图保留最近 5 份、24 小时内的历史,使用中的截图额外保留。删除前检查当前及待导航的预览标签页,保护正在创建的预览;清理整个目录及崩溃残留,Agent 导出仍使用自身生命周期。删除无调用的旧保存函数。
  • 日志尾读采用反向分块定位;跟随读取按实际消费字节推进,正确处理并发追加、截断和 BrokenPipe。64MB 日志只取最后一行时,实测峰值 RSS 约 90.7MB → 13.9MB。
  • 关闭组件卸载后才创建的 PiP 窗口,处理乱序完成、替换窗口和初始化失败;移除没有生产写入路径的 observation.dead 状态。
  • 合并 CLI 超时计算和跨平台 IPC 响应解码,删除不会被采用的溢出兜底。

回归覆盖包含所有导航等待阶段、迟到事件、取消、后继导航、DOM/AX 查找工作量、截图保留边界与预览竞态、日志追加/截断/管道关闭,以及 PiP 卸载/乱序/初始化失败。

验证结果:

  • Rust 全量:920 passed、0 failed、1 ignored(cargo test --workspace --locked --quiet --no-fail-fast)。
  • 扩展:3,310 个测试通过;TypeScript 检查和生产构建通过。
  • DSH:26 个测试文件、570 个测试通过,包含 agent-loop 集成测试;完整 TypeScript 检查通过。使用与锁文件版本及 SHA-512 一致的隔离依赖,未修改依赖声明或锁文件。
  • 独立 Chromium:生产导航处理器的 navigate/back/forward × 4 种等待阶段,共 12 个同文档组合通过;实际扩展 OPFS 清理和预览保护用例通过。
  • 改动文件的 Biome、Stylelint、Rust 格式及差异空白检查通过。

真实浏览器回归可通过 BSK_NAV_CHROME 和 BSK_LONG_SCREENSHOT_CHROME 启用。现有完整截图/预览冒烟用例在本机测试准备阶段的 Page.captureScreenshot 超时,未完成该用例;存储清理用例独立于截图预热运行并通过。未执行 Windows 原生运行验证。

@iuyo5678
iuyo5678 merged commit 6c9d523 into main Oct 28, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants