Files
halo-dark-mode-plugin/docs/recheck-2026-08-08.md
T

4.6 KiB
Raw Blame History

复查交接单 — halo-dark-mode-plugin2026-08-08 第二版)

由审查窗口对开发窗口修复结果(d95d172 fix: 按审查报告修复 P2/P3 问题并升级 1.0.5b6403b7 docs: 按 Halo 官方插件 README 风格重写)进行复查。 初审交接单见 docs/review-2026-08-08.md(本文件为其复查结果,独立文档)。 复查基线:HEAD = d95d172,工作区有未提交改动(见"遗留问题")。

一、总体结论

P2/P3 绝大部分已修复,构建链全绿,可收尾。 无新增阻断问题。剩余 3 个遗留项均为"收尾/决策"性质。

二、逐项复查结果(对照初审交接单)

清单项 状态 说明
P2-1 FOUC useDarkMode.applyHtmlAttribute 同步设置 color-schemedarkreader-engine.ts 与 README 均注明 DR 异步注入、闪白无法完全消除
P2-2 文档 AGENTS.md / CLAUDE.md 已无旧策略残留(halo-core/overrides/Monaco/Tailwind 零命中);scripts/README.md 重写;README 按 Halo 官方风格重写
P2-3 工具重复 ⚠️ 部分 已删 workplace/login_wait.pyworkplace/scan_dark.pyfetch_bundle.pyprobe_conflict.pyaggregate.py 仍在(见遗留-3
P2-4 前端单测 新增 ui/src/composables/__tests__/useDarkMode.spec.ts 8 个用例,实测 8/8 通过
P2-5 多标签同步 storage 事件监听已实现,并有 2 个测试覆盖(合法值同步 / 非法值忽略)
P2-6 可访问性 ThemeToggle<button> + aria-pressed + :focus-visible;设置页改 radiogroup + role=radio + aria-checked
P3-1 后端日志 @Slf4j + log.info,替换 System.out.println
P3-2 vendored package.json 裁剪为 name/version/description/main/module/types/license 最小字段
P3-3 完整性校验 third-party/darkreader/SHA256SUMS 新增,5 个文件哈希全部实测匹配
P3-4 遗留属性注释 variables.cssuseDarkMode.ts 已注明 data-halo-theme 为兼容性遗留
P3-5 i18n 未处理 初审标注低优先级可暂缓,符合预期
P3-6 plugin.yaml spec.enabled: true → false(合理默认)
版本号 gradle.properties 1.0.5 + DarkModePlugin @since 1.0.5 同步

三、审查窗口实测验证(开发窗口无需重复)

  • vitest run8/8 通过
  • vue-tsc --build:通过
  • vite build:通过(main.js 110.40KB / gzip 37.96KBstyle.css 4.11KB
  • prettier --check src:通过(审查窗口已代跑 prettier --write 修复,见遗留-1
  • gradlew testBUILD SUCCESSFUL(含 :ui:assemble + :processUiResources 全链路;沙箱外联网执行)

四、遗留问题(待开发窗口收尾)

遗留-1:prettier 格式化已修,改动未提交

  • d95d172 中 5 个文件缺末尾换行、variables.css 列对齐不规范
  • 审查窗口已执行 prettier --write src(纯格式化,无逻辑变化),涉及文件:
    • ui/src/components/ThemeToggle.vue
    • ui/src/composables/__tests__/useDarkMode.spec.ts
    • ui/src/composables/useDarkMode.ts
    • ui/src/styles/index.css
    • ui/src/styles/variables.css
    • ui/src/views/SettingsView.vue
  • 当前这些改动在工作区未提交,需开发窗口提交

遗留-2:logo 改动未提交(需用户决策)

  • src/main/resources/logo.png:被替换(35KB → 65KB)但未提交
  • src/main/resources/原版.png:新增未跟踪文件(旧 logo 备份)
  • 待决策:新 logo 是否随 1.0.5 入库?原版.png 删除 / 保留 / gitignore

遗留-3workplace/ 旧工具未清完(需用户确认删除)

  • 仍保留:fetch_bundle.pyprobe_conflict.pyaggregate.py
  • 均为旧手工 CSS 工作流配套(抓线上 bundle / 探测覆盖冲突 / 聚合扫描结果),scan_dark.py 删除后基本失效
  • 建议连同 deployed-bundle.cssaggregate.txtscan-results.json 等产物一并清理收口到 scripts/

五、可选改进(非必须)

  • SettingsView.vue radiogroup:各按钮可 Tab 聚焦,但未实现 ArrowUp/ArrowDown 方向键切换焦点(语义上 radiogroup 通常只保留一个 tab stop);不影响当前可用性

六、收尾动作清单

  1. 提交 prettier 格式化改动(遗留-1
  2. 与用户确认 logo / 原版.png 处置(遗留-2
  3. 与用户确认 workplace/ 剩余工具删除(遗留-3)
  4. 可选:radiogroup 方向键导航(五)
  5. 可选:推送后跑一次 scripts/verify-toggle.py 做真实环境回归(部署 1.0.5 后)