PR #58 修复、合并及本地开发保留验收¶
日期:2026-10-26。
PR:xiao-dreamr #58。原作者提交 08b1caa4ebede7e12f810b48d76e2bd6f7d7bb72 保留;修补提交 6a6a3493c55fde021e2808a39812b89294a7ce55 已更新原 PR;合并到 GitHub main 的提交为 1db12e31030ee7c15847c2b9ff96715668e35d14。本地主仓库 main 已快进到同一提交。
五项审查问题的处理¶
- 附件响应判定:按响应给出的原始文件名先检查 HTML/登录跳转,再按 Content-Type 推断后缀。避免登录页因自动补出
.html而通过检查;保留显式 HTML 附件、PDF、ZIP 等 MIME 补后缀功能。 - App 固定 UA 与 SVG 折射:保留认证所用的 Chrome/79 UA,以 Chromium Client Hints、Blink vendor 和运行时能力识别实际引擎。现代 Chromium 可启用边缘折射,旧能力、WebKit、无障碍和低资源降级仍有效。常规 CSS 玻璃与可选 SVG 光学都保留。
- 折射候选生命周期:断开的元素释放滤镜、观察器及候选配额;配额释放后重新接纳此前超出预算的节点。保留 24 候选、4 活跃/触摸 2 活跃上限,避免持续轮询。
- 日夜壁纸同步:存档导出和恢复包含 day/night,沿用媒体去重及总量预算;兼容旧 v2/v3,缺少日夜字段时沿用常驻壁纸。
- 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 清单;保护性 stash4e8e7be16552b232c53cfcb6ae6e6a0e2d2f8c1c仍保留。
验收¶
隔离 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 验收,没有发布或替换安装包。