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

6.0 KiB
Raw Permalink Blame History

用户自测交接(2026-09-16)

用户明确要求:重构已持续近六天,尽快停止当前任务;不会马上发布 npm,后续由用户长期自测,非必要问题留待以后。本记录覆盖此前自动推进完整计划的安排。停止新增实施工作,保留已有成果和证据,不以“全部完善”作为本轮交付条件。

用户随后要求把全部遗留问题记录清楚,见逐项遗留问题清单。 它完整汇总主台账 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、任务表、类型规则和风险表继续作为维护依据。

本轮省略并延期的流程

流程 本轮安排 以后何时处理
小时级播放、压力、泄漏和反复稳定性测试 停止当前长测,不重启到通过 自测发现相关问题或用户指定稳定性专项时
全浏览器、旧版本组合、真机、投屏接收端与外部 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 保留开放。
  • 终止时快照见 停止证据。原始日志保留于 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 差异检查和提交审计。没有新增生产修改,因此不重跑全仓测试或浏览器矩阵。