Files
ArtPlayer/refactor/self-test-handoff.md

58 lines
6.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 用户自测交接(2026-09-16)
用户明确要求:重构已持续近六天,尽快停止当前任务;不会马上发布 npm,后续由用户长期自测,非必要问题留待以后。本记录覆盖此前自动推进完整计划的安排。停止新增实施工作,保留已有成果和证据,不以“全部完善”作为本轮交付条件。
用户随后要求把全部遗留问题记录清楚,见[逐项遗留问题清单](remaining-issues.md)。
它完整汇总主台账 77 条 open、5 条按范围接受的差异和独立分支 MB-DROP-01,
并关联 60 项延期任务;206 条已关闭记录及其修复证据仍保留在原台账。
## 当前可使用的代码
- 主工作目录:`D:\github\ArtPlayer`,分支 `codex/compatible-modernization`。本次交接前提交为 `78e3107b688c940ef44b773d72327fd89b62481c`。交接提交只更新文档、状态与停止证据,不修改运行时、依赖或产物。
- 主计划交接前 226 项 done、24 项 doing、36 项 todo。后两类共 60 项延期,保留原状态、验收要求、证据和依赖;它们不是 60 个未重构插件,也不能据此推算源码完成百分比。新增交接文档任务完成后为 227 done / 60 deferred。
- 核心和生态已有大量源码、类型、模块拆分、测试及维护文档提交;本轮不重新认证所有包。当前成果用于自测,不宣称全部兼容验收完成或可直接发布。
- 保留 Node `.node-version` 指定版本与 Yarn Classic 1.22.22;使用 `yarn dev` 选择待测包,打开 `http://localhost:8082`。需要更新某包生产产物时使用 `yarn build <package>`。本次交接没有重新启动开发服务或全包构建。
- 已有包内 `ARCHITECTURE.md` / README、[任务表](plan.md)、[类型规则](type-compatibility-policy.md)和[风险表](risk-table.md)继续作为维护依据。
## 本轮省略并延期的流程
| 流程 | 本轮安排 | 以后何时处理 |
| --- | --- | --- |
| 小时级播放、压力、泄漏和反复稳定性测试 | 停止当前长测,不重启到通过 | 自测发现相关问题或用户指定稳定性专项时 |
| 全浏览器、旧版本组合、真机、投屏接收端与外部 SDK 全矩阵 | 保留已测证据和缺口,不等待全部设备 | 按用户实际环境优先,正式发布前再决定覆盖范围 |
| 浏览器/第三方 SDK 历史缺陷和边缘行为 | 记录现象及影响,停止继续深挖 | 用户遇到、影响主要功能或安排专项时 |
| 性能深挖、包体进一步优化、低优先级内部完善 | 延期,不追加新的重构任务 | 用户自测反馈后排序 |
| 全包候选重新打包、完整回退演练、许可来源补证 | 延期,旧候选指纹不能冒充当前准入 | 确定发布批次后 |
| npm 工作流补全、远端 CI/CD 准入与发布验证 | 保留已实现配置,未验证部分不称完成 | 用户要求准备发布时 |
| REVIEW-01/02/03 正式复盘 | 本轮不启动 | 用户另行指导 |
这只改变本轮工作范围,不删除测试、不放宽失败断言、不关闭已知风险,也不取消未来发布所需检查。当前不执行 push、部署或 npm 发布。
## 停止的长测与重要未决项
- MediaBunny 长测会话 `34354` 已由用户收缩范围后中断,工具返回退出码 1。已核对该次 Yarn、服务器、两个 worker 的原 PID 不再存在,8084 无监听。中断不能证明正常销毁检查通过,也不能记成完整运行失败后的自动清理通过。
- 两个 Chromium 新旧核心组合在约 1767 秒时记录最大画帧时间戳/音频时钟差约 549ms / 570ms,超过 250ms 门槛。它们使用同一候选 proxy;不能推断旧 proxy 的原生测试同样失败,也未证明用户可听见的持续音画偏移。MB-SYNC-01 保留开放。
- 终止时快照见 [停止证据](baselines/self-test-handoff-stop.json)。原始日志保留于 `refactor/.cache/mb09-hour-browser.log` 与 `refactor/.cache/soak/results/*/progress.jsonl`;本次不产生完整四组合通过结论。
- 尚有 Windows WebKit 媒体能力、HLS/DASH 历史 SDK、JASSUB 绘制、自动缩略图、真机/Cast、站点资产来源和未发布链接等未决项;具体范围以各任务证据和风险表为准,不在本轮继续修复。
- 已有候选包映射 `refactor/.cache/packages/run-kK0VCe/browser-artifacts.json` 的部分源输入指纹因后续共享工程变化过期;可追溯旧测试,但不是当前发布绿灯。本轮不为交接重复打包全部候选。
## 单独保存、尚未合入的修复
`D:\github\ArtPlayer-mb-queued-frame` / `codex/mb-queued-frame-fix` 的提交
`1af2c1347866590a7341316dcf304de4e5ac0a9a` 保存 PKG-MB-DROP-01:显式启用
`dropLateFrames` 时,已排队帧到期仍按当前音频时钟判断是否过晚,默认 false 行为保留。
该分支已有旧产物新用例 7 通过 / 3 失败、修复后视频 48/48、main 与 legacy 各
156/156、类型/lint/build 与提交审计证据;原生浏览器专项仍未执行,不能称完整验收。
此问题也不等于默认模式长测的 MB-SYNC-01。修复不合入主交付分支,不删除该工作区。
该分支的旧任务状态尚为 doing,本轮执行安排明确延期;未来先读本交接记录再决定是否恢复。
其 node_modules 通过 junction 复用主目录依赖,后续安装依赖会影响主目录,应先处理隔离。
## 自测与后续接续
由用户决定自测顺序。可从日常使用的核心播放、切源、字幕、弹幕和常用插件开始;记录包名、浏览器、媒体样本、复现步骤和控制台错误即可,不要求先跑完整测试套件。
AI 不再依据旧 progress 中“下一步继续”或 doing 状态自动推进。用户之后点名问题时,仅恢复对应任务、修复和必要的定向验证;保持每任务独立提交。用户安排发布准备前,不自行开启三轮复盘或发布工作。
本次交接只执行计划/链接校验、Git 差异检查和提交审计。没有新增生产修改,因此不重跑全仓测试或浏览器矩阵。