mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-16 01:26:16 -08:00
test(ci): [CI-01] verify installed Iframe tools across window boundaries
This commit is contained in:
1 parent
4a9ef16b16
commit
ce67eaa73e
19 files changed
+584
-28
No files matched your search
@@ -0,0 +1,355 @@
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"task": "CI-01",
|
||||
"date": "2026-09-15",
|
||||
"sourceHead": "4a9ef16b168eecc1f39b08290415d76a25852314",
|
||||
"candidate": "Working tree in the accompanying Iframe installed-browser checkpoint; executable fingerprints normalize LF",
|
||||
"environment": {
|
||||
"node": "24.21.0",
|
||||
"yarn": "1.22.22",
|
||||
"platform": "win32"
|
||||
},
|
||||
"inputs": [
|
||||
{
|
||||
"file": "scripts/package-check.mjs",
|
||||
"sha256LF": "fbab857fd7565dad953b7c0387bd31bb19f986e1e5f6adc5525b2e76e25923b0"
|
||||
},
|
||||
{
|
||||
"file": "scripts/browser-validation/scope.ts",
|
||||
"sha256LF": "510e857438df5dcd410a4506f074b3864b8eb1e8f05a32acfbca1ff9056ddf3f"
|
||||
},
|
||||
{
|
||||
"file": "test/helpers/iframe.js",
|
||||
"sha256LF": "46549ef9b090cd69605582b6d011900ad60068b97ce75b0df821194319b1d93e"
|
||||
},
|
||||
{
|
||||
"file": "test/package-check.test.js",
|
||||
"sha256LF": "81717f7f9dfd46b99d90d84135cfb53181e3453ab9e3d18dd350c101d8781766"
|
||||
},
|
||||
{
|
||||
"file": "test/browser-validation.test.js",
|
||||
"sha256LF": "d1598e4393b4bb2e4d1e590b6c9744a47cf6aaff7c0086f9fb8d3eb38644cf8c"
|
||||
},
|
||||
{
|
||||
"file": "test/browser/iframe.spec.js",
|
||||
"sha256LF": "bfa55adb681caef7dcc2ede58f75230f1af281591a2868624522511fa9507baa"
|
||||
},
|
||||
{
|
||||
"file": "test/browser/iframe-boundaries.spec.js",
|
||||
"sha256LF": "11cce4e116abc0f0d34aa2e84c736071064e7ffaf403bfb294375d60e8c545d1"
|
||||
},
|
||||
{
|
||||
"file": "test/browser/iframe-navigation.spec.js",
|
||||
"sha256LF": "eae9fa7e840d79bd60b3ab9966517768d7975bc6988a7a6f4ef50723bc017309"
|
||||
},
|
||||
{
|
||||
"file": "test/browser/iframe-player.spec.js",
|
||||
"sha256LF": "09cd9b63f56b62d403cdfba187d4c854a25a922913623633efe843234667756c"
|
||||
},
|
||||
{
|
||||
"file": "test/browser/iframe-editor.spec.js",
|
||||
"sha256LF": "fe8865c82287001cc6432a6b9aece8359c1bd5a8298e2386b0db14eb3882b60a"
|
||||
}
|
||||
],
|
||||
"packages": {
|
||||
"directory": "refactor/.cache/packages/run-qBFP13",
|
||||
"reportSha256": "58dbe13edcf4a8f529ee973868c6125cbf13b3cfd3a2515c17cf9b2c95c2cfa3",
|
||||
"count": 19,
|
||||
"names": [
|
||||
"artplayer",
|
||||
"artplayer-plugin-chapter",
|
||||
"artplayer-plugin-ambilight",
|
||||
"artplayer-proxy-canvas",
|
||||
"artplayer-plugin-document-pip",
|
||||
"artplayer-plugin-ads",
|
||||
"artplayer-plugin-audio-track",
|
||||
"artplayer-plugin-vtt-thumbnail",
|
||||
"artplayer-plugin-multiple-subtitles",
|
||||
"artplayer-plugin-hls-control",
|
||||
"artplayer-plugin-dash-control",
|
||||
"artplayer-plugin-auto-thumbnail",
|
||||
"artplayer-plugin-asr",
|
||||
"artplayer-plugin-chromecast",
|
||||
"artplayer-proxy-mediabunny",
|
||||
"artplayer-plugin-jassub",
|
||||
"artplayer-plugin-danmuku",
|
||||
"artplayer-plugin-danmuku-mask",
|
||||
"artplayer-tool-iframe"
|
||||
],
|
||||
"tool": {
|
||||
"name": "artplayer-tool-iframe",
|
||||
"version": "1.1.0",
|
||||
"archive": "artplayer-tool-iframe.tgz",
|
||||
"sha256": "e8df09c3edd98de8fa0c731f2cf8769b243560a74d02bddd3e924f8079053365",
|
||||
"files": {
|
||||
"package/ARCHITECTURE.md": "dcb0d58fd02730a7a2cc620e4e7e934fae22dbbf85cc9a6eae21ee5ac2cba167",
|
||||
"package/README.md": "ef5af60bcb831667a78cc3421f6e3c7b5d9a50b3d2e571c5cd02d46fc533e9ce",
|
||||
"package/dist/artplayer-tool-iframe.js": "7408fceccb000e1b304abe30ac9bc364da7860c3896ad5aaa6af427804c237e6",
|
||||
"package/dist/artplayer-tool-iframe.legacy.js": "4e8bd39cdc37e98bff9cd19b5e0c9453ebe5231264242fc1c573aa96edb5ea8a",
|
||||
"package/dist/artplayer-tool-iframe.mjs": "ac4c5efa670c0429fc95bdab7902df60f5b5540f0dad9c7e65c2bd660796dc83",
|
||||
"package/package.json": "0de9c86eeb3f9a2fb46f9297105b5beddb8d6164163ffaa9874cf5cd68ba7a58",
|
||||
"package/types/artplayer-tool-iframe.d.cts": "66850135f45c81d4bd7a0de33b6a2f63a655de9000f2698f43660039727919f3",
|
||||
"package/types/artplayer-tool-iframe.d.mts": "cd394fd68e61fab3c4474daab29852a3f87dd0086b007e7937106871272676fb",
|
||||
"package/types/artplayer-tool-iframe.d.ts": "e760de22559caf7ffff48d7c5713485bf9f0ddbe876a93080295fb6106535bfa"
|
||||
}
|
||||
},
|
||||
"exitCode": 0,
|
||||
"wallSeconds": 118.17,
|
||||
"genericConsumerScope": [
|
||||
"artplayer",
|
||||
"artplayer-plugin-chapter"
|
||||
],
|
||||
"baseline": "Verified npm artplayer-plugin-iframe@1.0.0 plus frozen artplayer-tool-iframe workspace at 40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f; distinct package identities"
|
||||
},
|
||||
"collection": {
|
||||
"directory": "refactor/.cache/ci01-iframe-collection-report",
|
||||
"reportSha256": "71d7ae92094a1cac3327619a0ac25c91a75c4d5bb6e3b8a9b4c0beee70e9108c",
|
||||
"cases": 2406,
|
||||
"files": 72,
|
||||
"perEngine": {
|
||||
"chromium": 802,
|
||||
"firefox": 802,
|
||||
"webkit": 802
|
||||
},
|
||||
"collectionOnly": true
|
||||
},
|
||||
"installed": {
|
||||
"directory": "refactor/.cache/ci01-iframe-installed-report",
|
||||
"reportSha256": "0b69259f917ad79a32b9ea65b9d7ca36d91941ea6bf42a2d83e8e6b1786f1c29",
|
||||
"invocationSha256": "b383fcf488927f9a5bbaa57d1c4d24fb4b558351487ae1043a25918f3d8edf0e",
|
||||
"args": [
|
||||
"test",
|
||||
"--config=playwright.installed.config.js",
|
||||
"iframe",
|
||||
"--workers=2"
|
||||
],
|
||||
"result": {
|
||||
"scope": "installed",
|
||||
"exitCode": 0,
|
||||
"signal": null,
|
||||
"args": [
|
||||
"test",
|
||||
"--config=playwright.installed.config.js",
|
||||
"iframe",
|
||||
"--workers=2"
|
||||
]
|
||||
},
|
||||
"stats": {
|
||||
"startTime": "2026-09-14T20:25:57.627Z",
|
||||
"duration": 279343.054,
|
||||
"expected": 426,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"browsers": {
|
||||
"chromium": "153.0.8010.12",
|
||||
"firefox": "155.0",
|
||||
"webkit": "26.6"
|
||||
},
|
||||
"files": {
|
||||
"chromium/iframe-boundaries.spec.js": {
|
||||
"expected": 20,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"firefox/iframe-boundaries.spec.js": {
|
||||
"expected": 20,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"webkit/iframe-boundaries.spec.js": {
|
||||
"expected": 20,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"chromium/iframe-editor.spec.js": {
|
||||
"expected": 1,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"firefox/iframe-editor.spec.js": {
|
||||
"expected": 1,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"webkit/iframe-editor.spec.js": {
|
||||
"expected": 1,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"chromium/iframe-navigation.spec.js": {
|
||||
"expected": 39,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"firefox/iframe-navigation.spec.js": {
|
||||
"expected": 39,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"webkit/iframe-navigation.spec.js": {
|
||||
"expected": 39,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"chromium/iframe-player.spec.js": {
|
||||
"expected": 24,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"firefox/iframe-player.spec.js": {
|
||||
"expected": 24,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"webkit/iframe-player.spec.js": {
|
||||
"expected": 24,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"chromium/iframe.spec.js": {
|
||||
"expected": 58,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"firefox/iframe.spec.js": {
|
||||
"expected": 58,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"webkit/iframe.spec.js": {
|
||||
"expected": 58,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
}
|
||||
},
|
||||
"casesWithCandidateIdentity": 264,
|
||||
"identityRecords": 318,
|
||||
"identityCountsByProject": {
|
||||
"chromium": 106,
|
||||
"firefox": 106,
|
||||
"webkit": 106
|
||||
},
|
||||
"failures": []
|
||||
},
|
||||
"source": {
|
||||
"directory": "refactor/.cache/ci01-iframe-source-report",
|
||||
"reportSha256": "071cba96f1289cd4064bd777265e9c0c8ecab868c8cca77698f615a35236cb28",
|
||||
"invocationSha256": "e2bd4beb7fee90c66918cd54cd84fcf479b88be3a7d51c01ea99816b90fb2cce",
|
||||
"args": [
|
||||
"test",
|
||||
"--config=playwright.source.config.js",
|
||||
"--project=chromium",
|
||||
"--workers=2",
|
||||
"--grep",
|
||||
"(Iframe docs editor Run|Iframe player candidate/same-origin/candidate-source/candidate-source|Iframe document same-origin/attribute-navigation/candidate-source)"
|
||||
],
|
||||
"result": {
|
||||
"scope": "source",
|
||||
"exitCode": 0,
|
||||
"signal": null,
|
||||
"args": [
|
||||
"test",
|
||||
"--config=playwright.source.config.js",
|
||||
"--project=chromium",
|
||||
"--workers=2",
|
||||
"--grep",
|
||||
"(Iframe docs editor Run|Iframe player candidate/same-origin/candidate-source/candidate-source|Iframe document same-origin/attribute-navigation/candidate-source)"
|
||||
]
|
||||
},
|
||||
"stats": {
|
||||
"startTime": "2026-09-14T20:31:13.013Z",
|
||||
"duration": 34660.732,
|
||||
"expected": 3,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"browsers": {
|
||||
"chromium": "153.0.8010.12"
|
||||
},
|
||||
"files": {
|
||||
"chromium/iframe-editor.spec.js": {
|
||||
"expected": 1,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"chromium/iframe-navigation.spec.js": {
|
||||
"expected": 1,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"chromium/iframe-player.spec.js": {
|
||||
"expected": 1,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
}
|
||||
},
|
||||
"casesWithCandidateIdentity": 3,
|
||||
"identityRecords": 4,
|
||||
"identityCountsByProject": {
|
||||
"chromium": 4
|
||||
},
|
||||
"failures": []
|
||||
},
|
||||
"verification": {
|
||||
"tests": {
|
||||
"passed": 113,
|
||||
"failed": 0,
|
||||
"durationMs": 3402.3125,
|
||||
"log": "refactor/.cache/ci01-iframe-tests.log",
|
||||
"logSha256": "cf9dfd8f04bbd1bd5b458fdba9f99661fce167917fd5683d4db8e4c5dee044d5"
|
||||
},
|
||||
"lint": {
|
||||
"exitCode": 0,
|
||||
"log": "refactor/.cache/ci01-iframe-lint.log",
|
||||
"logSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
"libraryTypes": {
|
||||
"exitCode": 0,
|
||||
"log": "refactor/.cache/ci01-iframe-types.log",
|
||||
"logSha256": "62ec4acffe7f959331ef7e06a10ebd9bc15263dc4c0624aedaed71e65e96c397"
|
||||
},
|
||||
"docsToolsTypes": {
|
||||
"exitCode": 0,
|
||||
"log": "refactor/.cache/ci01-iframe-docs-types.log",
|
||||
"logSha256": "4ee15d1ddc61e077c26ded3c173c50a332ff4bc31c883febc247eba00f6826f3"
|
||||
},
|
||||
"toolchain": {
|
||||
"exitCode": 0,
|
||||
"log": "refactor/.cache/ci01-iframe-toolchain.log",
|
||||
"logSha256": "0f342a63471393db876e60cb17b1e8ea4d21c2724848e8c50a05eba519ddcae6"
|
||||
},
|
||||
"ci": {
|
||||
"exitCode": 0,
|
||||
"log": "refactor/.cache/ci01-iframe-ci.log",
|
||||
"logSha256": "2a42b55e8510c2b958e9dbd0cc99a359e6e80e6a1e1a3ddf0a27590ca3eb9741"
|
||||
}
|
||||
},
|
||||
"limitations": [
|
||||
"Collection is not a full run of all installed tests.",
|
||||
"Candidate identity records can count both parent and child; they are not unique test counts. Pure historical rows preserve immutable predecessor/workspace inputs.",
|
||||
"The separate BFCache/history server retains its source/explicit tool semantics and is not covered by this installed-tool claim.",
|
||||
"No new npm package identity, helper alias, public API, type, dependency or version change; predecessor distribution decisions remain separate.",
|
||||
"No remote OS matrix, physical-device or release-review/publication acceptance; CI-01 and PKG-IFRAME-05 remain in progress."
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
# CI-01 Iframe 安装产物与跨窗口组合
|
||||
|
||||
## 范围与兼容性
|
||||
|
||||
接续 `4a9ef16b168eecc1f39b08290415d76a25852314`。统一 browser 安装清单加入
|
||||
artplayer-tool-iframe 和五个既有浏览器测试文件。生产源码、公开类型、API、
|
||||
DOM/事件、依赖版本和实际发布入口没有变化,也没有新增测试重试或放宽等待。
|
||||
|
||||
这个包的真实 npm 前身是 artplayer-plugin-iframe@1.0.0,拥有独立的 plugin/
|
||||
helper 文件;未发布工作区则使用 artplayer-tool-iframe。打包检查先核验真实
|
||||
旧归档与冻结 Git 源文件,再从冻结 tool manifest/dist/types 提取四个必须
|
||||
保留的工具文件名。不会伪造 tool 名下的旧 npm 版本,也不会把旧 helper 当成
|
||||
新工具的等价入口。`historicalDistributionFiles()` 为此提供显式分支;其他
|
||||
包继续核对同名 npm 分发。旧包名与 helper 的最终分发策略仍由原任务负责。
|
||||
|
||||
`iframeBrowserCandidate()` 在有安装 map 时通过共用 browserCandidate 核验
|
||||
核心/Chapter/工具的新鲜度和安装文件,加载正常 UMD,拒绝显式 artifact 与
|
||||
冻结工作区替换。父/子窗口候选分别附加安装成员、归档和源文件身份。纯历史
|
||||
对照仍使用原来的固定 npm/工作区字节;source 入口清除继承的安装 map。
|
||||
|
||||
原来的 `iframeCandidate()` 保留 unit/history 的源码或显式产物语义。核对
|
||||
调用方时确认 history 服务会继承只含核心的 map,因此不能直接让这个旧 helper
|
||||
改读工具安装包。两种用途有独立入口和回归保护,history 的 BFCache 配置也
|
||||
保持原样。安装范围拒绝 BASELINE、LIFECYCLE_ONLY、BOUNDARIES_ONLY 三个
|
||||
诊断开关,防止候选被替换或历史行被删掉。源码诊断仍保留原功能。
|
||||
|
||||
## 实际验证
|
||||
|
||||
Windows、Node 24.21.0、Yarn 1.22.22;Chromium 153.0.8010.12、Firefox
|
||||
155.0、WebKit 26.6。完整结果及输入指纹见
|
||||
[机器证据](../baselines/ci-iframe-installed-validation.json)。
|
||||
|
||||
| 检查 | 实际结果 |
|
||||
| --- | --- |
|
||||
| `yarn test:package --browser` | 十九包正常构建、pack、隔离安装及离线冻结复装通过,118.17 秒;run-qBFP13 |
|
||||
| installed 全量 collection | 72 文件、2,406 项,三个引擎各 802 项;只收集,不计为全量运行 |
|
||||
| `yarn test:browser:installed iframe --workers=2` | 五文件、三个引擎 426/426 通过,279,343.054 ms;每个引擎 142 项,零 skip/失败/flaky/重试 |
|
||||
| source 定向检查 | Chromium 的真实编辑器、属性导航、新核心新父/子工具组合 3/3 通过,34,660.732 ms |
|
||||
| Node 单元与工程回归 | 113/113 通过,3,402.3125 ms;包含原 Iframe 行为/生命周期/边界/导航和打包/launcher 负例 |
|
||||
| 工程检查 | 改动文件只读 ESLint、library/docs-tools 严格类型、固定工具链和 CI 契约通过 |
|
||||
|
||||
五文件每个引擎分别为:协议 58、边界 20、导航 39、播放器 24、编辑器 1。
|
||||
实际协议包含新旧消息、同一时刻请求、销毁中请求及 clone 失败;边界/导航
|
||||
覆盖同源、跨域、opaque sandbox、重定向、属性/子页面导航及历史对照。播放器
|
||||
使用三代核心与新旧父/子工具,真实播放、seek、切源、全屏网页控制和销毁。
|
||||
编辑器通过实际 docs index/Monaco/Run 检查清理;它仍使用既有观察子类和测试
|
||||
广告脚本拦截,不扩展成生产行为。
|
||||
|
||||
安装用例有 264 项附带候选工具身份,共 318 条身份记录;父/子同时使用候选
|
||||
时会记录两条,不能将身份条数当成用例数。其余 162 项为纯历史对照。源码
|
||||
三个用例共有四条 source-build 身份,安装 map 为 null。通用 pack 的运行时/
|
||||
类型消费仍仅 core/chapter:36 运行时、5 旧类型与 8 精确类型模式。Iframe
|
||||
自己的公开类型证据保留在 PKG-IFRAME-04,本次不虚报全包通用类型覆盖。
|
||||
|
||||
报告在进程实际结束后归档为 `refactor/.cache/ci01-iframe-installed-report`、
|
||||
`ci01-iframe-source-report` 和 `ci01-iframe-collection-report`;同前缀日志保存
|
||||
真实终态输出。复跑先执行 test:package --browser、设置其 browser-artifacts.json,
|
||||
再执行上述 installed 命令。源码定向正则见机器记录中的 args;全量 CI 不使用
|
||||
这个定向正则。重跑前先归档同一 scope 的旧报告。
|
||||
|
||||
## 剩余门槛
|
||||
|
||||
CI-01、PKG-IFRAME-05 继续 doing;197/263 完成不变。此次没有重跑特殊 Chromium
|
||||
channel 的 BFCache suite,也不声称 Firefox/WebKit 实际缓存恢复、物理设备、
|
||||
旧包 helper 分发或发布复盘已完成。远端完整 OS × 引擎矩阵仍未运行。
|
||||
|
||||
没有 push、部署或 npm 发布。代码、测试、架构说明和证据随独立 CI-01 本地
|
||||
检查点提交,之后执行提交审计。回退此提交只撤回安装验证接入及相关记录,
|
||||
不会回退或改变已迁移的工具生产实现。
|
||||
@@ -5,10 +5,16 @@
|
||||
核验的统一包清单,执行明确列出的 installed 子集;清单维护在
|
||||
`scripts/browser-validation/scope.ts`。两步不
|
||||
吞失败,普通失败后仍保存另一范围的证据,分别上传browser-source/browser-installed。
|
||||
入口与报告规则见[维护说明](../scripts/browser-validation/README.md)。source全量
|
||||
入口与报告规则见[维护说明](../scripts/browser-validation/README.md)。
|
||||
目前按 OS × 引擎拆分播放作业,消费者另行执行;各作业的实际远端耗时/60分钟预算、
|
||||
其余插件安装矩阵与远端运行仍待CI-01/CI-04,不计为已通过。
|
||||
|
||||
Iframe 接入后共同安装清单含十九包;新增五文件本地三引擎 426/426 通过,
|
||||
完整 installed collection 为 72 文件/2,406 项,见
|
||||
[安装记录](changes/2026-09-15-CI-01-iframe-installed.md)。原 browser-consumers 的
|
||||
history 仍保留源码/显式工具加核心 map 的独立语义,不因新增安装清单而自动
|
||||
宣称 BFCache 已使用安装工具验收。
|
||||
|
||||
## 本地命令
|
||||
|
||||
使用 toolchain-setup.md 的 Node/Yarn 环境与冻结安装。
|
||||
|
||||
+2
-2
@@ -509,7 +509,7 @@
|
||||
- ENG-09: [记录](changes/2026-09-12-ENG-09-integration.md) [记录](baselines/engineering-integration.json)
|
||||
- ENG-10: [记录](changes/2026-09-10-ENG-10-test-reliability.md) [记录](test-reliability.md)
|
||||
- ENG-11: [记录](build-analysis.md) [记录](baselines/bundle-attribution.json) [记录](changes/2026-09-11-ENG-11-build-analysis.md)
|
||||
- CI-01: [记录](ci-setup.md) [记录](changes/2026-09-13-CI-01-matrix-summary.md) [记录](baselines/ci-matrix-validation.json) [记录](changes/2026-09-13-CI-01-node-consumers.md) [记录](baselines/node-consumer-validation.json) [记录](changes/2026-09-14-CI-01-installed-full.md) [记录](baselines/ci-installed-full-validation.json) [记录](changes/2026-09-14-CI-01-source-chromium.md) [记录](baselines/ci-source-chromium-validation.json) [记录](changes/2026-09-15-CI-01-ads-installed.md) [记录](baselines/ci-ads-installed-validation.json) [记录](changes/2026-09-15-CI-01-subtitles-installed.md) [记录](baselines/ci-subtitles-installed-validation.json) [记录](changes/2026-09-15-CI-01-adaptive-installed.md) [记录](baselines/ci-adaptive-installed-validation.json) [记录](changes/2026-09-15-CI-01-asr-cast-installed.md) [记录](baselines/ci-asr-cast-installed-validation.json) [记录](changes/2026-09-15-CI-01-mediabunny-installed.md) [记录](baselines/ci-mediabunny-installed-validation.json) [记录](changes/2026-09-15-CI-01-jassub-installed.md) [记录](baselines/ci-jassub-installed-validation.json) [记录](changes/2026-09-15-CI-01-danmuku-installed.md) [记录](baselines/ci-danmuku-installed-validation.json) [记录](changes/2026-09-15-CI-01-browser-matrix.md) [记录](baselines/ci-browser-matrix-validation.json)
|
||||
- CI-01: [记录](ci-setup.md) [记录](changes/2026-09-13-CI-01-matrix-summary.md) [记录](baselines/ci-matrix-validation.json) [记录](changes/2026-09-13-CI-01-node-consumers.md) [记录](baselines/node-consumer-validation.json) [记录](changes/2026-09-14-CI-01-installed-full.md) [记录](baselines/ci-installed-full-validation.json) [记录](changes/2026-09-14-CI-01-source-chromium.md) [记录](baselines/ci-source-chromium-validation.json) [记录](changes/2026-09-15-CI-01-ads-installed.md) [记录](baselines/ci-ads-installed-validation.json) [记录](changes/2026-09-15-CI-01-subtitles-installed.md) [记录](baselines/ci-subtitles-installed-validation.json) [记录](changes/2026-09-15-CI-01-adaptive-installed.md) [记录](baselines/ci-adaptive-installed-validation.json) [记录](changes/2026-09-15-CI-01-asr-cast-installed.md) [记录](baselines/ci-asr-cast-installed-validation.json) [记录](changes/2026-09-15-CI-01-mediabunny-installed.md) [记录](baselines/ci-mediabunny-installed-validation.json) [记录](changes/2026-09-15-CI-01-jassub-installed.md) [记录](baselines/ci-jassub-installed-validation.json) [记录](changes/2026-09-15-CI-01-danmuku-installed.md) [记录](baselines/ci-danmuku-installed-validation.json) [记录](changes/2026-09-15-CI-01-browser-matrix.md) [记录](baselines/ci-browser-matrix-validation.json) [记录](changes/2026-09-15-CI-01-iframe-installed.md) [记录](baselines/ci-iframe-installed-validation.json)
|
||||
- CI-02: [记录](changes/2026-09-14-CI-02-pages-artifact.md) [记录](baselines/pages-artifact-validation.json) [记录](pages-deployment.md)
|
||||
- PILOT-01: [记录](changes/2026-09-10-PILOT-01-chapter.md) [记录](baselines/pilot-validation.json)
|
||||
- CORE-01: [记录](changes/2026-09-10-CORE-01-typed-utils.md) [记录](baselines/core-utils-validation.json)
|
||||
@@ -639,7 +639,7 @@
|
||||
- PKG-IFRAME-02: [记录](changes/2026-09-12-PKG-IFRAME-02-behavior.md) [记录](baselines/iframe-behavior-validation.json)
|
||||
- PKG-IFRAME-03: [记录](changes/2026-09-12-PKG-IFRAME-03-requests-checkpoint.md) [记录](baselines/iframe-requests-checkpoint.json) [记录](changes/2026-09-12-PKG-IFRAME-03-boundaries-checkpoint.md) [记录](baselines/iframe-boundaries-checkpoint.json) [记录](iframe-message-boundary.md) [记录](changes/2026-09-13-PKG-IFRAME-03-navigation.md) [记录](baselines/iframe-navigation-validation.json) [记录](iframe-document-protocol.md)
|
||||
- PKG-IFRAME-04: [记录](changes/2026-09-13-PKG-IFRAME-04-types.md) [记录](baselines/iframe-types-validation.json)
|
||||
- PKG-IFRAME-05: [记录](changes/2026-09-13-PKG-IFRAME-05-integration.md) [记录](baselines/iframe-integration-validation.json) [记录](changes/2026-09-13-PKG-IFRAME-05-history.md) [记录](baselines/iframe-history-validation.json)
|
||||
- PKG-IFRAME-05: [记录](changes/2026-09-13-PKG-IFRAME-05-integration.md) [记录](baselines/iframe-integration-validation.json) [记录](changes/2026-09-13-PKG-IFRAME-05-history.md) [记录](baselines/iframe-history-validation.json) [记录](changes/2026-09-15-CI-01-iframe-installed.md) [记录](baselines/ci-iframe-installed-validation.json)
|
||||
- PKG-TOOL-THUMB-01: [记录](baselines/thumbnail-release.json) [记录](baselines/thumbnail-contract.md) [记录](changes/2026-09-13-PKG-TOOL-THUMB-01-contract.md) [记录](baselines/thumbnail-contract-validation.json)
|
||||
- PKG-TOOL-THUMB-02: [记录](baselines/thumbnail-behavior-validation.json) [记录](changes/2026-09-13-PKG-TOOL-THUMB-02-behavior.md)
|
||||
- PKG-TOOL-THUMB-03: [记录](changes/2026-09-13-PKG-TOOL-THUMB-03-input-checkpoint.md) [记录](baselines/thumbnail-input-checkpoint.json) [记录](changes/2026-09-13-PKG-TOOL-THUMB-03-lifecycle.md) [记录](baselines/thumbnail-lifecycle-validation.json)
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# 进度与证据
|
||||
|
||||
## CI-01 Iframe 安装包与真实跨窗口组合
|
||||
|
||||
统一清单现含十九包,保留 Iframe 真实旧 npm 包与冻结 tool 工作区的不同身份。
|
||||
五文件三引擎 426/426 全部通过,零跳过/失败/重试;覆盖历史协议、窗口/文档
|
||||
边界、导航、新旧核心/父子工具和实际编辑器。源码定向 3/3、单元及工程 113/113。
|
||||
见[记录](changes/2026-09-15-CI-01-iframe-installed.md)。完整安装 collection
|
||||
为 72 文件/2,406 项,并未全跑;197/263 完成。CI-01/IFRAME-05 继续 doing,
|
||||
其余生态分发、特殊 BFCache、设备和远端矩阵门槛保留。
|
||||
|
||||
## CI-01 浏览器引擎与消费者作业拆分
|
||||
|
||||
播放检查改为 3 个 OS × 3 个引擎;Node/React/Vue/iframe history/性能每个 OS
|
||||
|
||||
+8
-4
@@ -776,9 +776,11 @@
|
||||
"changes/2026-09-15-CI-01-jassub-installed.md",
|
||||
"baselines/ci-jassub-installed-validation.json",
|
||||
"changes/2026-09-15-CI-01-danmuku-installed.md",
|
||||
"baselines/ci-danmuku-installed-validation.json",
|
||||
"changes/2026-09-15-CI-01-browser-matrix.md",
|
||||
"baselines/ci-browser-matrix-validation.json"
|
||||
"baselines/ci-danmuku-installed-validation.json",
|
||||
"changes/2026-09-15-CI-01-browser-matrix.md",
|
||||
"baselines/ci-browser-matrix-validation.json",
|
||||
"changes/2026-09-15-CI-01-iframe-installed.md",
|
||||
"baselines/ci-iframe-installed-validation.json"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -4080,7 +4082,9 @@
|
||||
"changes/2026-09-13-PKG-IFRAME-05-integration.md",
|
||||
"baselines/iframe-integration-validation.json",
|
||||
"changes/2026-09-13-PKG-IFRAME-05-history.md",
|
||||
"baselines/iframe-history-validation.json"
|
||||
"baselines/iframe-history-validation.json",
|
||||
"changes/2026-09-15-CI-01-iframe-installed.md",
|
||||
"baselines/ci-iframe-installed-validation.json"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user