跳转至

PR #58 修复与保留本地开发的合并计划

Goal: 修复 PR #58 审查问题后合并,保留新增视觉/学习功能,以及当前本地 CLI、共享会话和通知附件修改。

Architecture: 在 PR 原始 head 的隔离 worktree 完成修补;使用现有 OneGUI 能力与材质降级,认证请求 UA 保持稳定。修补提交更新原 PR,验证后合并到 GitHub main;本地以可恢复快照与三方合并接回未提交开发。

Tech Stack: TypeScript、React、Rust/Tauri、pnpm、Playwright、GitHub CLI。

保护与实施

  1. 保存本地主仓库和 Harness 子模块的补丁、原文件、SHA-256 清单;保留构建产物和用户运行数据。远端仍沿用 PR 原作者提交。
  2. 附件:先按原始文件名验证返回页面,再按 MIME 补后缀;保留真实 HTML 附件和已有扩展名。
  3. 光学:使用 UA Client Hints/真实 Blink 能力兼容固定 Chrome/79 UA;保留 WebKit、旧引擎、低资源和无障碍降级。节点断开后释放滤镜、观察器和候选配额。
  4. 壁纸:存档携带 day/night 引用,去重复用媒体与预算,兼容旧 v2/v3 存档。
  5. i18n:新增与改名词条登记 seed,重新生成并验证二次生成稳定。
  6. 在隔离环境执行纯函数、原生附件、真实 Chromium 光学生命周期/UA、日夜壁纸往返和 PR 原有回归,检查类型与构建。
  7. 更新原 PR,合并 main,再将本地开发通过三方合并恢复。合并通知附件的属性/URL 解析与 fjmc 回填;核验 CLI 与 Harness 源文件,执行共享运行时、附件和类型检查。
  8. 补充结果和记忆,保留恢复快照路径;当前任务不发布新版安装包。

验收要求

  • 无后缀文件遇到登录页时拒绝保存,普通 PDF/ZIP 与显式 HTML 附件可下载。
  • 模拟 App 固定 UA 的现代 Chromium 能获得边缘折射;旧能力/WebKit 正常降级。
  • 超过 24 次挂载/卸载后仍能重新分配折射,兼顾已连接但暂不可见的页面。
  • 日夜壁纸跨导出/恢复不丢,旧归档、重复媒体和异常引用有回归。
  • PR 18 个新增词条和本地 CLI 词条全部保留,生成稳定。
  • CLI SDK、原生桥接、后台任务与通知附件 fjmc 传递保留;未经需要修改的本地文件哈希一致。

PR 修复验收(2026-10-26)

  • 原生附件响应检查 3 项、附件名称解析 12 项、日夜壁纸存档 37 项通过。
  • 实际 Chromium 浏览器:玻璃表面 60 项、光学 32 项、首页/导航布局 150 项通过;新增固定 App UA 与滤镜生命周期 4 组通过(连续 60 次挂载卸载、24 个候选释放后补位、销毁无遗留滤镜)。截图使用模拟数据。
  • 保留 CSS 玻璃和 SVG 边缘折射、设置/Harness 布局、学习页功能。认证请求的 Chrome/79 UA 保持原值;真实 Windows WebView 的最终视觉效果仍需 Windows 设备复验。
  • 作业状态 346 项、雨课堂正文 164 项、登录公钥 37 项及标签页布局/动效令牌回归通过。
  • 新增词条写入 seed,i18n 检查 errors 0,连续生成稳定。全工作区类型检查与生产构建通过。
  • 完整 guard 在 UI 文案检查处停止:VisitTab.tsx 与 libraryErrorText.ts 的 6 条已有错误映射文案触发规则;这两份源文件不在本 PR 的修改范围内。前置令牌、CSS、对比度、样式与弹层检查通过。
  • 合并前主仓库 292 个源文件与 Harness 8 个文件已做补丁、原文件及 SHA-256 备份;本地恢复后的合并验收另记于主仓库审查报告。