Skip to content

fix: 修复跨端样式构建、HMR 与验收证据链 - #1209

Merged
sonofmagic merged 10 commits into
mainfrom
codex/local-full-run-fixes
Sep 17, 2026
Merged

sonofmagic merged 10 commits into
mainfrom
codex/local-full-run-fixes

Conversation

@sonofmagic

Copy link
Copy Markdown
Owner

本次修复解决全端回归发现的样式丢失、增量缓存污染、框架 PostCSS 漏执行和测试误判。Uni App X 小程序保存后保留全局样式与页面布局,Web 构建保留组件及第三方 CSS,UI 测试不再清空发布产物。

  • 保留构建图中的源码与产物关系、编译 snapshot 和框架样式贡献;修正回滚重放顺序、局部变体、作者函数及样式隔离 2.0 兼容。
  • 完整转发 Vite 钩子上下文与参数,统一内部类型契约;框架 PostCSS 支持模块路径、tuple、transformer 和 Processor,非法配置明确失败。
  • 严格区分截图、运行时和构建证据,拒绝合成截图、旧 marker 及保存后重启;修正 DevTools 截图坐标与 ICC 色彩转换。
  • 补充单元/集成回归、按项目审查过的产物基线及中文 change intent。详细复盘和验收边界见 本地全端修复记录

本地验证:完整单元 5440 通过、43 跳过;Lint、typecheck、coverage 通过(语句 83.02%、分支 78.56%);完整 build 66/66 通过且无缓存命中。规则检查与 diff 检查通过。Uni、weapp-vite、H5 框架子阶段通过;HBuilderX stable Issue1144 Options/setup 各完成 16 次保存及刷新;Issue1170、开发启动矩阵、Issue1164 和 Issue1160 显式启用回归通过。独立 Expo RN Web/Android/iOS wrapper 12 项通过。

保持草稿,尚未完成全端验收:

  • 无过滤 static:425 通过、32 跳过、1 个 apps-generator-mode 汇总快照失败;已有项目级基线更新尚未完成完整汇总核对。
  • 最新 IDE full:框架阶段 11 通过、weapp-vite 启动超过 30 秒后退出,后续阶段未执行;日志同时出现基础库下载,根因仍待确认。
  • CLI Issue1144 setup 在无 Tailwind 且运行时版本对齐的对照中仍出现 UTS 编译错误;stable IDE setup 独立通过。Alpha host 被 stable 实例接管,未取得 Alpha 验收。
  • Android UniX/Harmony 同实例 HMR 仍有工具链重启/重装阻塞;iOS 严格视觉、完整视觉/full profile、部分本地平台矩阵和 GUI attach 待完成。

原始日志、覆盖率 HTML 和截图保留在本地 e2e/reports/local-full-run/2026-09-15T13-34-05-764Z/,未上传进仓库。跳过、构建成功和历史截图均不计为设备验收通过;未执行发布、合并或远端 CI 等待。

@github-actions

github-actions Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

PR 性能基准报告:部分结果

  • Commit:8a273a4cb044
  • 生成时间:2026-09-17T06:41:30.295Z
  • Benchmark:success
  • Watch:未触发/无产物

总览

指标 结果
Build 稳态中位数平均变化 -0.35%
HMR 稳态 P95 平均变化 +1.53%
插件 Build 中位数平均变化 -1.84%
插件 HMR 门禁统计平均变化 +3.57%
Watch HMR p50 / p95 N/A / N/A ms
Watch RSS 峰值 / 最大增量 0.00 / 0.00 MB
Watch Heap 峰值 0.00 MB

Benchmark 项目矩阵

项目 平台 Base Build 冷/稳态(ms) Current Build 冷/稳态(ms) Build 变化 Base HMR median/P95(ms) Current HMR median/P95(ms) HMR 变化 状态
demo-mpx-tailwindcss-v4__mp-weixin mp-weixin 15408.12 / 15509.27 15524.74 / 15595.80 +0.68% 5601.05 / 6188.37 5281.34 / 6193.80 +0.09% ok
demo-taro-vite-react-tailwindcss-v4__mp-weixin mp-weixin 30846.47 / 30610.89 30313.25 / 30094.39 -2.19% 6129.49 / 6503.20 5850.08 / 6255.30 -3.81% ok
demo-taro-webpack-react-tailwindcss-v4__mp-weixin mp-weixin 24751.06 / 25100.60 25279.65 / 25402.62 +1.46% 4187.83 / 9602.27 4283.18 / 9912.24 +3.23% ok
demo-uni-app-vite-tailwindcss-v4__mp-weixin mp-weixin 6494.15 / 6311.23 6212.38 / 6265.90 -1.18% 810.82 / 2470.58 810.48 / 2633.03 +6.58% ok
demo-weapp-vite-tailwindcss-v4__mp-weixin mp-weixin 6045.72 / 6006.48 6084.55 / 5995.64 -0.54% 8155.58 / 8210.29 8247.77 / 8339.87 +1.58% ok

Benchmark 插件处理阶段

项目 Build Plugin base/current(ms) 变化 HMR Plugin base/current(ms) 变化
demo-mpx-tailwindcss-v4__mp-weixin 1503.00 / 1504.00 +0.07% 1495.00 / 1496.00 +0.07%
demo-taro-vite-react-tailwindcss-v4__mp-weixin 6291.00 / 6098.00 -3.07% 3306.00 / 2966.00 -10.28%
demo-taro-webpack-react-tailwindcss-v4__mp-weixin 7789.00 / 7787.00 -0.03% 6647.00 / 7788.00 +17.17%
demo-uni-app-vite-tailwindcss-v4__mp-weixin 1982.00 / 1896.00 -4.34% 711.00 / 763.00 +7.31%
demo-weapp-vite-tailwindcss-v4__mp-weixin N/A / N/A N/A N/A / N/A N/A

Benchmark 内存

项目 Build RSS base peak/steady(MB) Build RSS current peak/steady(MB) Peak 变化 HMR RSS base peak/steady(MB) HMR RSS current peak/steady(MB) Peak 变化
demo-mpx-tailwindcss-v4__mp-weixin 1220.36 / 1157.30 1242.61 / 1161.57 +1.82% 2126.88 / 1999.12 2113.97 / 2010.09 -0.61%
demo-taro-vite-react-tailwindcss-v4__mp-weixin 1590.29 / 1507.99 1586.11 / 1529.14 -0.26% 2989.54 / 2945.81 3054.41 / 3004.66 +2.17%
demo-taro-webpack-react-tailwindcss-v4__mp-weixin 1458.94 / 1261.03 1281.63 / 1264.92 -12.15% 1845.07 / 1745.54 1812.45 / 1746.22 -1.77%
demo-uni-app-vite-tailwindcss-v4__mp-weixin 760.67 / 760.67 755.50 / 755.50 -0.68% 1077.51 / 991.13 1002.98 / 910.36 -6.92%
demo-weapp-vite-tailwindcss-v4__mp-weixin 571.13 / 518.34 586.52 / 542.83 +2.69% 1529.63 / 1450.52 1234.63 / 1192.95 -19.29%

Watch 明细

项目 平台 变更类型 样本数 ready(ms) avg/p50/p95/max(ms) 插件 p50/p95(ms) RSS peak/delta(MB) Heap peak(MB)

门禁与诊断

  • Benchmark 性能门禁:通过
  • Benchmark 缺失项目:无
  • Benchmark 错误:0
  • Watch 解析错误:0

运行链接

统计口径
  • Build/HMR 版本对照沿用现有 benchmark 的 base/current 和门禁统计。
  • Watch 仅报告当前提交的真实跨平台 watcher 结果,不额外运行 base;跨 shard 总览分位数按各报告摘要聚合,项目/平台行保留原始口径。
  • 未触发或缺失的场景显示为 N/A,不当作 0。

sonofmagic and others added 9 commits September 17, 2026 11:16
Web 兼容处理后颜色与长度会展开为 rgb/rgba 和 0.25rem,与压缩后的 hex/.25rem 等价。已按项目重新生成对应 demo-matrix 生产基线。

Related to #1209
框架根样式合并时不再在源码签名未变的情况下整份重新生成,单独缓存干净入口 CSS,避免把已混入框架规则的产物当作增量基线。

Related to #1209
PowerShell 冷启动偶发 ETIMEDOUT 不应直接判为探测失败。Windows 上最多重试三次,并放宽真实路径识别用例的超时。

Related to #1209
Windows runner 上 Playwright 冷启动会挤占 15s 用例预算。将等待本地脚本、重载和启动恢复的用例超时与现有路由用例对齐为 30s。

Related to #1209
生产全量构建里已被产物包含的 CSS 不再先算 scoped runtime 和 candidate signature。热更新漏文件重放路径保持不变。

Related to #1209
@sonofmagic
sonofmagic marked this pull request as ready for review September 17, 2026 06:32
@sonofmagic
sonofmagic merged commit 190cda9 into main Sep 17, 2026
297 of 415 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.

1 participant