跳转至

PR #58 修复、合并及本地开发保留验收

日期:2026-10-26。

PR:xiao-dreamr #58。原作者提交 08b1caa4ebede7e12f810b48d76e2bd6f7d7bb72 保留;修补提交 6a6a3493c55fde021e2808a39812b89294a7ce55 已更新原 PR;合并到 GitHub main 的提交为 1db12e31030ee7c15847c2b9ff96715668e35d14。本地主仓库 main 已快进到同一提交。

五项审查问题的处理

  1. 附件响应判定:按响应给出的原始文件名先检查 HTML/登录跳转,再按 Content-Type 推断后缀。避免登录页因自动补出 .html 而通过检查;保留显式 HTML 附件、PDF、ZIP 等 MIME 补后缀功能。
  2. App 固定 UA 与 SVG 折射:保留认证所用的 Chrome/79 UA,以 Chromium Client Hints、Blink vendor 和运行时能力识别实际引擎。现代 Chromium 可启用边缘折射,旧能力、WebKit、无障碍和低资源降级仍有效。常规 CSS 玻璃与可选 SVG 光学都保留。
  3. 折射候选生命周期:断开的元素释放滤镜、观察器及候选配额;配额释放后重新接纳此前超出预算的节点。保留 24 候选、4 活跃/触摸 2 活跃上限,避免持续轮询。
  4. 日夜壁纸同步:存档导出和恢复包含 day/night,沿用媒体去重及总量预算;兼容旧 v2/v3,缺少日夜字段时沿用常驻壁纸。
  5. i18n 再生成丢词条:PR 的 18 个新增键和 2 个改名/修改键登记到 seed。合并本地 60 个 seed 修改,其中 58 个当前有业务引用,另 2 个旧入口文案仍保留于 seed。中英字典通过重新生成和稳定性检查。

另修复新作业正文代码中的不可达空值访问,并为 GUI 包明确声明 React 类型依赖;兼容浏览器数字计时器与 Node 的可选 unref 类型。

本地 CLI 与通知附件

  • 本地未提交的 SDK、CLI、原生 CLI 会话/下载/后台桥接、OH 定时任务、IM 通知等开发保持原有未提交状态,没有随本 PR 整批推送。
  • 通知列表 fjmc 解码、详情第三个可选文件名参数、GUI 与 SDK 的参数传递全部保留。详情链接没有真实文件名时,单附件继续使用列表中的原始文件名与后缀。
  • 将 PR 的属性/URL 文件名解析复用到本地多附件枚举,支持单双引号属性;所有附件角色、多个文件、导航链接过滤和旧单附件兼容字段保留。
  • 主仓库备份中的 292 个源文件有 182 个逐字节未变;其余 110 个均与 PR 修改范围相交,主要是翻译生成文件。Harness 子模块的 8 个本地源文件逐字节一致,gitlink 未更换。
  • 可恢复备份:/Users/st/Library/Caches/onethu/pr58-integration-20261026,含原文件归档、二进制补丁及 SHA-256 清单;保护性 stash 4e8e7be16552b232c53cfcb6ae6e6a0e2d2f8c1c 仍保留。

验收

隔离 PR 环境:

  • 原生附件响应 3 项;附件命名 12 项;壁纸存档 37 项。
  • 实际 Chromium:玻璃表面 60 项、光学 32 项、首页与导航布局 150 项。
  • 新增折射能力/生命周期 4 组:固定 Chrome/79 App UA、旧能力/WebKit 降级、60 次连续挂载卸载、候选释放后补位及销毁无残留。
  • 作业状态 346 项、雨课堂正文 164 项、登录公钥 37 项、标签页布局与动效令牌回归。
  • 类型检查、生产构建、i18n errors 0,生成稳定。

合并本地开发后:

  • SDK 178 项、CLI 72 项;共享运行时 19 项、私有会话移交 8 项、桌面后台任务 8 项、插件窗口归属 6 组。
  • 学习资源/通知附件 27 组、CLI 学习服务 32 组、文件名解析 12 项。
  • 实际 Chromium 再验光学 32 项。
  • 全工作区类型检查、生产构建、原生 cargo build -j 2 通过;中英字典均为 7649 条,i18n errors 0。
  • 原有 dev wrapper 已更新并重新打开,Vite 位于 :5180;CLI 后台自动采用本次运行时,登录保持 ready。

验证范围

  • 浏览器测试与截图使用模拟内容;尚未在 Windows 实机复验此次最终视觉效果。
  • 完整 pnpm guard 在已有 UI 文案规则处停止:VisitTab.tsx 与 libraryErrorText.ts 的 6 条错误映射文案触发检查。这两份文件未由本 PR 修改;前置令牌、CSS、对比度、样式和弹层检查通过。没有把该结果计为完整 guard 通过。
  • 原生编译仍有仓库已有的弃用/未使用项提示及 imap-proto 的未来兼容提示。
  • 本次任务完成源代码合并与 dev 验收,没有发布或替换安装包。