From 9f454ecd1d3e833b4fb28c0252eada621072c9b6 Mon Sep 17 00:00:00 2001 From: Harvey Zhao Date: Wed, 16 Sep 2026 04:32:59 +0800 Subject: [PATCH] build(release): [REL-02] refresh DASH candidate documentation --- .../dash-candidate-refresh-check.json | 249 +++++++++++++ .../baselines/dash-candidate-refresh.json | 350 ++++++++++++++++++ .../artplayer-plugin-dash-control-docs.json | 91 +++++ .../changes/2026-09-16-REL-02-dash-refresh.md | 31 ++ refactor/plan.md | 2 +- refactor/progress.md | 7 + refactor/release-ledger.json | 12 +- refactor/release-ledger.md | 5 + refactor/tasks.json | 5 +- 9 files changed, 744 insertions(+), 8 deletions(-) create mode 100644 refactor/baselines/dash-candidate-refresh-check.json create mode 100644 refactor/baselines/dash-candidate-refresh.json create mode 100644 refactor/baselines/major-candidate-build/artplayer-plugin-dash-control-docs.json create mode 100644 refactor/changes/2026-09-16-REL-02-dash-refresh.md diff --git a/refactor/baselines/dash-candidate-refresh-check.json b/refactor/baselines/dash-candidate-refresh-check.json new file mode 100644 index 000000000..c3aa1ee27 --- /dev/null +++ b/refactor/baselines/dash-candidate-refresh-check.json @@ -0,0 +1,249 @@ +{ + "task": "REL-02", + "sourceCommit": "b029062acef15293b759b8bcc786d37f47fdbfdb", + "capturedAt": "2026-09-15T20:32:38.536Z", + "report": { + "path": "refactor/.cache/release-ledger-FxYQHG/report.json", + "sha256": "d037dbeb128439c56bf0aed9a04cbd6d89b3839928f48414271150dd290b25c6" + }, + "preparation": { + "path": "refactor/baselines/dash-candidate-refresh.json", + "sha256": "b533a86df34bb16e1b32875af895c4d620c3e56a466ab7844820f3d4c9c10c3b" + }, + "libraries": [ + { + "name": "artplayer", + "version": "6.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer.tgz", + "fingerprint": "896b9f1f57feb447e9baef3b02c2c04e51b79eadef858b01a921e2b2146ff75a", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 28 + }, + { + "name": "artplayer-plugin-ads", + "version": "3.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-ads.tgz", + "fingerprint": "a7c85c3cbd5893306c50af3e5ab2ae900838633184e2b5509a7790a346e63277", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 32 + }, + { + "name": "artplayer-plugin-ambilight", + "version": "2.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-ambilight.tgz", + "fingerprint": "58b3de027f6da9358927a032585af2db0b98ece514263062e61a26c0b0a60d69", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 31 + }, + { + "name": "artplayer-plugin-asr", + "version": "3.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-asr.tgz", + "fingerprint": "e99563e05cf2fa5cb687bee25bbec5f663dadb39cd7a780ae506121a069f3288", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 32 + }, + { + "name": "artplayer-plugin-audio-track", + "version": "2.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-audio-track.tgz", + "fingerprint": "68251599fb975857e5124b3a7804e2e7edbd9de6b3b22eef2882ae9cf38c3560", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 33 + }, + { + "name": "artplayer-plugin-auto-thumbnail", + "version": "2.0.0", + "candidate": "refactor/.cache/auto-thumbnail-package-types-I6JsR1/artplayer-plugin-auto-thumbnail.tgz", + "fingerprint": "fa1ac932fb279f6de85856d98d649ea6b12b39c221a8e54d63d5a46d28ed25eb", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 37 + }, + { + "name": "artplayer-plugin-chapter", + "version": "2.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-chapter.tgz", + "fingerprint": "4dcc9e5c4e127edbc17ab1e59e3fb973ac9733125cff744c3031b43b98476e02", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 31 + }, + { + "name": "artplayer-plugin-chromecast", + "version": "2.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-chromecast.tgz", + "fingerprint": "e16de620bd4770b4ab717291af29d5a2f450025ae8bdf22815f6efd51e40056e", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 31 + }, + { + "name": "artplayer-plugin-danmuku", + "version": "6.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-danmuku.tgz", + "fingerprint": "90d09ab98a1ca36575a5ed38332d518c03265bcd4ad95524170394b1e67209c0", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 31 + }, + { + "name": "artplayer-plugin-danmuku-mask", + "version": "2.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-danmuku-mask.tgz", + "fingerprint": "71b4367caed8ad8cbe4a171abb3bb4be3955c15dea4694255c1448c85d6dfb17", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 40 + }, + { + "name": "artplayer-plugin-dash-control", + "version": "2.0.0", + "candidate": "refactor/.cache/dash-package-types-p4TuSa/artplayer-plugin-dash-control.tgz", + "fingerprint": "3f289a02d0f401e796b61c48f1a774a152b3efb5eb8fe3c97f3b0163b2315a42", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 34 + }, + { + "name": "artplayer-plugin-document-pip", + "version": "2.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-document-pip.tgz", + "fingerprint": "3507d1d5e0de702173c25a2e5caddac6e245046d9cd1249728b76e6dea9b8b77", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 34 + }, + { + "name": "artplayer-plugin-hls-control", + "version": "2.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-hls-control.tgz", + "fingerprint": "3210ec59c5b8440d584d509e214f4021a0a5117639a1e883d617e95e2ac9a49b", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 35 + }, + { + "name": "artplayer-plugin-jassub", + "version": "2.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-jassub.tgz", + "fingerprint": "e0391ecf1e2c9da0a622bb933a857f718bb370ecfb63ecc4b5e3ef1261e84371", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 38 + }, + { + "name": "artplayer-plugin-multiple-subtitles", + "version": "2.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-multiple-subtitles.tgz", + "fingerprint": "d2b9e3f04560bcb5a5e6028166c7f92d23554290be6ae29fc632bf1eb82d1f87", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 33 + }, + { + "name": "artplayer-plugin-vast", + "version": "2.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-vast.tgz", + "fingerprint": "07e23e4b5ad201e2b33afd0f8b689161c6228d0c0e0621487e48b04457fef766", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 33 + }, + { + "name": "artplayer-plugin-vtt-thumbnail", + "version": "2.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-vtt-thumbnail.tgz", + "fingerprint": "4a7cbdb38d5d876a68bc74a3a785402a2989b3730638b0654c358275bcffc423", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 34 + }, + { + "name": "artplayer-proxy-canvas", + "version": "2.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-proxy-canvas.tgz", + "fingerprint": "3cad2e085d0cf960508f5ed75ed62731c245e741246659a0f882fd73f2ed5430", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 30 + }, + { + "name": "artplayer-proxy-mediabunny", + "version": "2.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-proxy-mediabunny.tgz", + "fingerprint": "adca4dc42d1a1bfe05ba81ebb397b607eb548ca6ec02856f1312dd41ea96a232", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 41 + }, + { + "name": "artplayer-tool-iframe", + "version": "2.0.0", + "candidate": "refactor/.cache/packages/run-XvHA8v/artplayer-tool-iframe.tgz", + "fingerprint": "a0808c48db68a5d433ebb983348cf28130552e5bea99c38a1335b90b4b302d3c", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 33 + }, + { + "name": "artplayer-tool-thumbnail", + "version": "5.0.0", + "candidate": "refactor/.cache/thumbnail-package-types-QihwDO/candidate.tgz", + "fingerprint": "431eb2caf41a434a8fdb516bf5d73b71df8b4d306530036ead7c1ee460076b81", + "build": { + "status": "evidence-recorded" + }, + "status": "blocked", + "blockers": 34 + } + ], + "siteCandidate": null, + "publicationAuthorized": false, + "limitation": "Build evidence only; older browser reports are not rebound to the replacement candidate." +} diff --git a/refactor/baselines/dash-candidate-refresh.json b/refactor/baselines/dash-candidate-refresh.json new file mode 100644 index 000000000..1dbf426b8 --- /dev/null +++ b/refactor/baselines/dash-candidate-refresh.json @@ -0,0 +1,350 @@ +{ + "task": "REL-02", + "sourceCommit": "b029062acef15293b759b8bcc786d37f47fdbfdb", + "capturedAt": "2026-09-15T20:31:35.609Z", + "reason": "Replace candidate after clarifying synchronous SDK getters during scheduled refresh in shipped ARCHITECTURE.md", + "toolchain": { + "node": "v24.21.0", + "canonicalNode": "24.21.0", + "packageManager": "yarn@1.22.22", + "observedUserAgent": "yarn/1.22.22 npm/? node/v24.21.0 win32 x64", + "declaredTools": { + "@antfu/eslint-config": "5.4.1", + "@playwright/test": "1.63.0", + "@types/markdown-it": "14.1.2", + "@types/node": "24.10.0", + "@types/react": "19.1.10", + "@types/react-dom": "19.1.7", + "@vitejs/plugin-react": "5.0.0", + "@vitejs/plugin-vue": "6.0.1", + "@vue/compiler-sfc": "3.5.28", + "@yarnpkg/lockfile": "1.1.0", + "c8": "12.0.0", + "cpy": "13.2.3", + "cross-env": "10.1.0", + "cross-spawn": "7.0.6", + "dotenv": "17.2.4", + "dts-bundle-generator": "9.5.1", + "esbuild": "0.27.7", + "eslint": "9.39.2", + "eslint-plugin-format": "2.0.1", + "glob": "13.0.6", + "lerna": "8.2.4", + "less": "4.5.1", + "linkedom": "0.18.13", + "monaco-editor": "0.30.1", + "mrmime": "2.0.1", + "pngjs": "7.0.0", + "prompts": "2.4.2", + "react": "19.1.1", + "react-dom": "19.1.1", + "semver": "7.7.4", + "servor": "4.0.2", + "svgo": "4.1.0", + "terser": "5.51.2", + "typescript": "5.9.3", + "typescript-compat": "npm:typescript@4.3.5", + "typescript-runtime-compat": "npm:typescript@5.1.6", + "vite": "7.3.6", + "vue": "3.5.28", + "vue-tsc": "3.3.11", + "yaml": "2.8.2" + }, + "lock": { + "path": "yarn.lock", + "sha256": "aa33cfc38c7933ab53ce626a911fdafd7b14023e45f93ca37bf7f2f6a1d3ecce" + } + }, + "previousCandidate": { + "kind": "npm-tarball", + "path": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-dash-control.tgz", + "version": "2.0.0", + "sourceCommit": "1b8188834768605f312a5ed14dab52d75b9c880c", + "inputFingerprint": "3130f6e7c49373a87b094582bcc9affbdf799c562ec688137bb96f3d7ed42157", + "integrity": "sha512-01z5sdzWx7zNFiUITEelZ8f9v+rSGiYH3HkxnTN0qQxQY12la0fJ1kK5YIFRzoeWcj4cakygSsvMuPqjQ6OFKQ==" + }, + "previousBuild": { + "path": "refactor/baselines/major-candidate-build/artplayer-plugin-dash-control.json", + "sha256": "1ecc3c78adffcbc2927be782dba77b4135163353c98cb5f7f02372c10cf4250c" + }, + "candidate": { + "kind": "npm-tarball", + "path": "refactor/.cache/dash-package-types-p4TuSa/artplayer-plugin-dash-control.tgz", + "version": "2.0.0", + "sourceCommit": "b029062acef15293b759b8bcc786d37f47fdbfdb", + "inputFingerprint": "3f289a02d0f401e796b61c48f1a774a152b3efb5eb8fe3c97f3b0163b2315a42", + "integrity": "sha512-uyxD/1mEYEVSfJ4R0TvOs1V+vK/yd4qZ1PteY9uOHPuAcIhtd79gyNRjyNXYtOlaGC/ZowYd5o37i+4BJgi/WA==" + }, + "unchangedInputFiles": 1469, + "archive": { + "sha256": "0e628e54eedd4bc4fedb09b64593e4a03a3ab0ddc6028380c30a3211d7296621", + "members": 10, + "changedMembers": [ + "package/ARCHITECTURE.md" + ], + "files": { + "package/ARCHITECTURE.md": "e434591d7746eb14412a9cdec08b803036d88791a001235b7273709bffebd7f6", + "package/CHANGELOG.md": "680cde6a4112c0755db3b547305c512b7698b1bb757f1b0aa6e2317a400076dc", + "package/README.md": "eec2c36c1b4dab1ce97efd745482581ba59461edb88a22e1ec063f6152223b1e", + "package/dist/artplayer-plugin-dash-control.js": "0758643c74555d9d3439fd4f16ec8d9d82acafb6297a3673b3d3f97c2b5208d4", + "package/dist/artplayer-plugin-dash-control.legacy.js": "fe0ff509089e20d596d0c4d70c2ddd3cdbb20722326b17ebbd2f979b187ffaef", + "package/dist/artplayer-plugin-dash-control.mjs": "bee86eb5b1555314c553309033725c515468ebe34f8b5046cc0043cab36bcda1", + "package/package.json": "432828d663f16004d0afd8404abbb85908843233a6a8829eb7d786b9d5816d12", + "package/types/artplayer-plugin-dash-control.d.cts": "20cbbeed90e0cd7d7b536b945dd01f31679e4325854aa36b732cb8e6ccc70d02", + "package/types/artplayer-plugin-dash-control.d.mts": "f52ae616c501be0685a14cb4e48252c88a67c9d4b0a9c1138921de89521f6b81", + "package/types/artplayer-plugin-dash-control.d.ts": "8470943bc5f2461f8b5d7420c0fd53828279c5dd8804c044f4c3b516f433506d" + }, + "allMembersMatchFreshBuildAndInstalledCopy": true + }, + "types": { + "matrix": [ + { + "compiler": "5.9.3", + "mode": "node10-commonjs", + "diagnostics": [], + "invalid": [ + { + "code": 2322, + "message": "Type 'void' is not assignable to type 'Promise'." + }, + { + "code": 2554, + "message": "Expected 0 arguments, but got 1." + }, + { + "code": 2322, + "message": "Type '\"dash\"' is not assignable to type '\"artplayerPluginDashControl\"'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option'." + }, + { + "code": 2339, + "message": "Property 'unknownProperty' does not exist on type 'QualityLevel'." + } + ] + }, + { + "compiler": "5.9.3", + "mode": "nodenext-cjs", + "diagnostics": [], + "invalid": [ + { + "code": 2322, + "message": "Type 'void' is not assignable to type 'Promise'." + }, + { + "code": 2554, + "message": "Expected 0 arguments, but got 1." + }, + { + "code": 2322, + "message": "Type '\"dash\"' is not assignable to type '\"artplayerPluginDashControl\"'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option'." + }, + { + "code": 2339, + "message": "Property 'unknownProperty' does not exist on type 'QualityLevel'." + } + ] + }, + { + "compiler": "5.9.3", + "mode": "nodenext-esm", + "diagnostics": [], + "invalid": [ + { + "code": 2322, + "message": "Type 'void' is not assignable to type 'Promise'." + }, + { + "code": 2554, + "message": "Expected 0 arguments, but got 1." + }, + { + "code": 2322, + "message": "Type '\"dash\"' is not assignable to type '\"artplayerPluginDashControl\"'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option'." + }, + { + "code": 2339, + "message": "Property 'unknownProperty' does not exist on type 'QualityLevel'." + } + ] + }, + { + "compiler": "5.9.3", + "mode": "bundler-esm", + "diagnostics": [], + "invalid": [ + { + "code": 2322, + "message": "Type 'void' is not assignable to type 'Promise'." + }, + { + "code": 2554, + "message": "Expected 0 arguments, but got 1." + }, + { + "code": 2322, + "message": "Type '\"dash\"' is not assignable to type '\"artplayerPluginDashControl\"'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Target signature provides too few arguments. Expected 2 or more, but got 1." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option'." + }, + { + "code": 2339, + "message": "Property 'unknownProperty' does not exist on type 'QualityLevel'." + } + ] + }, + { + "compiler": "4.3.5", + "mode": "node10-commonjs", + "diagnostics": [], + "invalid": [ + { + "code": 2322, + "message": "Type 'void' is not assignable to type 'Promise'." + }, + { + "code": 2554, + "message": "Expected 0 arguments, but got 1." + }, + { + "code": 2322, + "message": "Type '\"dash\"' is not assignable to type '\"artplayerPluginDashControl\"'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '(value: QualityLevel, index: number) => string' is not assignable to type '(item: QualityLevel) => string'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'.\n Type 'number' is not assignable to type 'string'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type '() => number' is not assignable to type '(item: AudioTrack) => string'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Type 'string' is not assignable to type 'boolean | undefined'." + }, + { + "code": 2769, + "message": "No overload matches this call.\n Overload 1 of 2, '(option?: Option | undefined): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option | undefined'.\n Overload 2 of 2, '(option: Option): (art: Artplayer) => Result', gave the following error.\n Argument of type 'null' is not assignable to parameter of type 'Option'." + }, + { + "code": 2339, + "message": "Property 'unknownProperty' does not exist on type 'QualityLevel'." + } + ] + } + ], + "scope": "Packed current core and DASH, offline Yarn install and frozen reinstall outside workspace; isolated public type acceptance only, not complete package runtime/SDK/media release validation." + }, + "attachments": [ + { + "path": "refactor/.cache/release-ledger-0G46fa/report.json", + "sha256": "da83cb7cbdf587ca6f9ea9921eac9bb34b60b97bfc9ce20ca364b304cff907c6" + }, + { + "path": "refactor/.cache/release-ledger-mGdBea/report.json", + "sha256": "da83cb7cbdf587ca6f9ea9921eac9bb34b60b97bfc9ce20ca364b304cff907c6" + }, + { + "path": "refactor/.cache/dash-package-types-p4TuSa/report.json", + "sha256": "b92d0e9c1a905ed4af7191b00725a0eb9387a2c813d05e1ed7c2fcc9498f7328" + }, + { + "path": "refactor/.cache/dash-package-types-p4TuSa/artplayer-plugin-dash-control.tgz", + "sha256": "0e628e54eedd4bc4fedb09b64593e4a03a3ab0ddc6028380c30a3211d7296621" + }, + { + "path": "refactor/.cache/dash-package-types-p4TuSa/artplayer-plugin-dash-control-pack.log", + "sha256": "b955f3e0c880d1f1369fafd7a432949f78e53986038b9eecd0ea85892e8e042f" + }, + { + "path": "refactor/.cache/dash-package-types-p4TuSa/install.log", + "sha256": "c3b09f4c65bfb4a1bf31ddd2e3328c22988cf52a31e36c31ea2de4d3132a89c6" + }, + { + "path": "refactor/.cache/dash-package-types-p4TuSa/frozen-install.log", + "sha256": "6d8a95fad69ac94a55d176b472fc3a0f72783092e49b7e683156b6717510f4a8" + }, + { + "path": "refactor/.cache/dash-package-types-p4TuSa/yarn.lock", + "sha256": "c54fb39b04dc24378c5e2f8a403b5e42a622ff05d652acb65150c8f9e6026d38" + }, + { + "path": "refactor/.cache/rel02-dash-refresh-build.log", + "sha256": "de18b87a5582e33cc6ac056444229e9318d143254eeb76cfd137b3839af8ed65" + }, + { + "path": "refactor/.cache/rel02-dash-refresh-types.log", + "sha256": "38162a17f45bfa1613a73ca0cf6fdbafaf798968159c8a9dc056ca8e8f14565c" + }, + { + "path": "refactor/.cache/record-rel02-dash-refresh.mjs", + "sha256": "bfdb204c8a92d3421c3e9fbc4c0b998facfb12ac89140edf912217ebf63b4c6b" + } + ], + "limitations": [ + "Only build gate registered; isolated types do not replace runtime/SDK/media/device/rollback/review gates.", + "No SDK/media rerun for a documentation-only archive change; historical browser evidence is not rebound.", + "Old archive, envelope and reports remain intact. No publication authorized." + ] +} diff --git a/refactor/baselines/major-candidate-build/artplayer-plugin-dash-control-docs.json b/refactor/baselines/major-candidate-build/artplayer-plugin-dash-control-docs.json new file mode 100644 index 000000000..08f1292ba --- /dev/null +++ b/refactor/baselines/major-candidate-build/artplayer-plugin-dash-control-docs.json @@ -0,0 +1,91 @@ +{ + "schemaVersion": 1, + "package": "artplayer-plugin-dash-control", + "version": "2.0.0", + "gate": "build", + "candidateIntegrity": "sha512-uyxD/1mEYEVSfJ4R0TvOs1V+vK/yd4qZ1PteY9uOHPuAcIhtd79gyNRjyNXYtOlaGC/ZowYd5o37i+4BJgi/WA==", + "inputFingerprint": "3f289a02d0f401e796b61c48f1a774a152b3efb5eb8fe3c97f3b0163b2315a42", + "result": "pass", + "checks": [ + { + "id": "major-version-and-distribution-members", + "result": "pass", + "mode": "native" + }, + { + "id": "production-build-archive-members", + "result": "pass", + "mode": "native" + }, + { + "id": "isolated-install-and-frozen-lock", + "result": "pass", + "mode": "native" + }, + { + "id": "unchanged-source-and-validation-inputs", + "result": "pass", + "mode": "native" + } + ], + "environment": [ + { + "os": "Windows", + "node": "v24.21.0", + "yarn": "1.22.22", + "remote": false + } + ], + "command": "yarn build artplayer-plugin-dash-control && yarn test:dash-types-package", + "reviewedBy": "Codex implementation verification; formal REVIEW-01/02/03 not started", + "artifacts": [ + { + "path": "refactor/.cache/release-ledger-0G46fa/report.json", + "sha256": "da83cb7cbdf587ca6f9ea9921eac9bb34b60b97bfc9ce20ca364b304cff907c6" + }, + { + "path": "refactor/.cache/release-ledger-mGdBea/report.json", + "sha256": "da83cb7cbdf587ca6f9ea9921eac9bb34b60b97bfc9ce20ca364b304cff907c6" + }, + { + "path": "refactor/.cache/dash-package-types-p4TuSa/report.json", + "sha256": "b92d0e9c1a905ed4af7191b00725a0eb9387a2c813d05e1ed7c2fcc9498f7328" + }, + { + "path": "refactor/.cache/dash-package-types-p4TuSa/artplayer-plugin-dash-control.tgz", + "sha256": "0e628e54eedd4bc4fedb09b64593e4a03a3ab0ddc6028380c30a3211d7296621" + }, + { + "path": "refactor/.cache/dash-package-types-p4TuSa/artplayer-plugin-dash-control-pack.log", + "sha256": "b955f3e0c880d1f1369fafd7a432949f78e53986038b9eecd0ea85892e8e042f" + }, + { + "path": "refactor/.cache/dash-package-types-p4TuSa/install.log", + "sha256": "c3b09f4c65bfb4a1bf31ddd2e3328c22988cf52a31e36c31ea2de4d3132a89c6" + }, + { + "path": "refactor/.cache/dash-package-types-p4TuSa/frozen-install.log", + "sha256": "6d8a95fad69ac94a55d176b472fc3a0f72783092e49b7e683156b6717510f4a8" + }, + { + "path": "refactor/.cache/dash-package-types-p4TuSa/yarn.lock", + "sha256": "c54fb39b04dc24378c5e2f8a403b5e42a622ff05d652acb65150c8f9e6026d38" + }, + { + "path": "refactor/.cache/rel02-dash-refresh-build.log", + "sha256": "de18b87a5582e33cc6ac056444229e9318d143254eeb76cfd137b3839af8ed65" + }, + { + "path": "refactor/.cache/rel02-dash-refresh-types.log", + "sha256": "38162a17f45bfa1613a73ca0cf6fdbafaf798968159c8a9dc056ca8e8f14565c" + }, + { + "path": "refactor/.cache/record-rel02-dash-refresh.mjs", + "sha256": "bfdb204c8a92d3421c3e9fbc4c0b998facfb12ac89140edf912217ebf63b4c6b" + }, + { + "path": "refactor/baselines/dash-candidate-refresh.json", + "sha256": "b533a86df34bb16e1b32875af895c4d620c3e56a466ab7844820f3d4c9c10c3b" + } + ] +} diff --git a/refactor/changes/2026-09-16-REL-02-dash-refresh.md b/refactor/changes/2026-09-16-REL-02-dash-refresh.md new file mode 100644 index 000000000..a4e2a81d2 --- /dev/null +++ b/refactor/changes/2026-09-16-REL-02-dash-refresh.md @@ -0,0 +1,31 @@ +# REL-02 checkpoint: refresh DASH after maintenance clarification + +Starting from clean b029062acef15293b759b8bcc786d37f47fdbfdb, rebuild DASH2.0.0 +and replace its candidate/build envelope after SITE-04 clarified synchronous SDK +getters during scheduled refresh in the packaged ARCHITECTURE.md. + +- Node24.21.0 and Yarn1.22.22; production build1.62s. The existing isolated + package type suite completes in8.96s: TS5.9.3 Node10/NodeNext CJS/NodeNext + ESM/Bundler and TS4.3.5 Node10. All five accept current/legacy declarations + and reject eight invalid uses each, with strict checks and skipLibCheck:false. +- Real offline install and frozen reinstall preserve the consumer lock. All10 + archive members match fresh package files and the retained installed copy. + Only package/ARCHITECTURE.md differs from the prior candidate. Main, legacy, + ESM bundles, public declarations and package metadata remain byte-identical. +- All1469 related raw inputs and the fingerprint are stable before/after + preparation and at collection. Fresh registration verifies all21 library + build envelopes; no library fingerprint remains stale. The site candidate + is absent and release blockers remain. + +See [preparation](../baselines/dash-candidate-refresh.json) and +[registration](../baselines/dash-candidate-refresh-check.json) for archive +identities, input hashes, consumer matrix and attachment hashes. Prior tarball, +envelope and browser evidence remain unchanged. Only build evidence is registered; +type consumption is not SDK execution or actual media playback. Future browser +validation must install this archive rather than relabel old evidence. + +REL-02 stays doing; totals224 done/22 doing/39 todo. Continue core documentation +semantic mapping and remaining implementation gates. Formal REVIEW-01/02/03 waits +for user direction. No push, remote dispatch, deployment or publication occurred. +Reverting this ledger checkpoint alone restores a candidate stale against the +corrected documentation, not a publishable state. diff --git a/refactor/plan.md b/refactor/plan.md index ab6bb90dc..748750a61 100644 --- a/refactor/plan.md +++ b/refactor/plan.md @@ -699,7 +699,7 @@ - REL-08: [记录](changes/2026-09-14-REL-08-release-ledger.md) [记录](baselines/release-ledger-validation.json) [记录](release-ledger.md) [记录](release-ledger.json) - REL-01: [记录](version-plan.md) [记录](version-plan.json) [记录](baselines/version-registry-2026-09-16.json) [记录](changes/2026-09-16-REL-01-version-plan.md) - REL-09: [记录](changes/2026-09-16-REL-09-major-versions.md) [记录](baselines/major-version-preparation.json) [记录](baselines/version-registry-prepared-2026-09-16.json) [记录](version-plan.md) -- REL-02: [记录](changes/2026-09-16-REL-02-types-inputs.md) [记录](baselines/major-installed-types-validation.json) [记录](changes/2026-09-16-REL-02-yarn-candidate-archives.md) [记录](baselines/major-candidate-archive-validation.json) [记录](changes/2026-09-16-REL-02-candidate-registration.md) [记录](baselines/major-candidate-preparation.json) [记录](changes/2026-09-16-REL-02-auto-thumbnail-refresh.md) [记录](baselines/auto-thumbnail-candidate-refresh.json) [记录](baselines/auto-thumbnail-candidate-refresh-check.json) [记录](changes/2026-09-16-REL-02-thumbnail-refresh.md) [记录](baselines/thumbnail-candidate-refresh.json) [记录](baselines/thumbnail-candidate-refresh-check.json) +- REL-02: [记录](changes/2026-09-16-REL-02-types-inputs.md) [记录](baselines/major-installed-types-validation.json) [记录](changes/2026-09-16-REL-02-yarn-candidate-archives.md) [记录](baselines/major-candidate-archive-validation.json) [记录](changes/2026-09-16-REL-02-candidate-registration.md) [记录](baselines/major-candidate-preparation.json) [记录](changes/2026-09-16-REL-02-auto-thumbnail-refresh.md) [记录](baselines/auto-thumbnail-candidate-refresh.json) [记录](baselines/auto-thumbnail-candidate-refresh-check.json) [记录](changes/2026-09-16-REL-02-thumbnail-refresh.md) [记录](baselines/thumbnail-candidate-refresh.json) [记录](baselines/thumbnail-candidate-refresh-check.json) [记录](changes/2026-09-16-REL-02-dash-refresh.md) [记录](baselines/dash-candidate-refresh.json) [记录](baselines/dash-candidate-refresh-check.json) - REL-04: [记录](changes/2026-09-15-REL-04-consumer-checkpoint.md) [记录](rollback-rehearsal.md) [记录](baselines/rollback-consumer-validation.json) [记录](changes/2026-09-15-REL-04-workflows-checkpoint.md) [记录](rollback-inventory.md) [记录](baselines/rollback-workflows-validation.json) [记录](changes/2026-09-15-REL-04-pages-recovery.md) [记录](baselines/pages-recovery-validation.json) [记录](changes/2026-09-15-REL-04-acceptance.md) [记录](baselines/rollback-acceptance-validation.json) - PKG-FACTORY-01: [记录](baselines/factory-assignment-gaps.json) [记录](baselines/factory-compatibility-proposals.json) [记录](factory-compatibility-decision.md) [记录](changes/2026-09-12-PKG-FACTORY-01-decision.md) [记录](type-compatibility-policy.md) [记录](baselines/factory-compatibility-validation.json) [记录](changes/2026-09-13-PKG-FACTORY-01-compatible-types.md) - CORE-25: [记录](changes/2026-09-13-CORE-25-defaults-ssr.md) [记录](baselines/defaults-ssr-validation.json) diff --git a/refactor/progress.md b/refactor/progress.md index bbfba35bb..2c34b5bcb 100644 --- a/refactor/progress.md +++ b/refactor/progress.md @@ -1,5 +1,12 @@ # 进度与证据 +## REL-02 DASH维护说明修正后的候选刷新 + +从b029062ac重新构建DASH2.0.0,五组隔离类型消费通过,每组拒绝八个非法用法; +1469个相关输入保持一致,10个归档/安装成员匹配,只有ARCHITECTURE与旧候选不同。 +重新登记后21库build证据均有效。见[准备与验证](changes/2026-09-16-REL-02-dash-refresh.md)。 +不重标旧浏览器报告,不关闭SDK/媒体/真机或正式复盘门槛;REL-02保持doing。 + ## SITE-04 早期五个插件指南的当前语义核对 完成 Danmuku/HLS/DASH/Audio/VTT 十份双语指南的源码/声明对照:修正文本空格、 diff --git a/refactor/release-ledger.json b/refactor/release-ledger.json index 394ae8221..ecd76bd99 100644 --- a/refactor/release-ledger.json +++ b/refactor/release-ledger.json @@ -393,16 +393,16 @@ }, "candidate": { "kind": "npm-tarball", - "path": "refactor/.cache/packages/run-XvHA8v/artplayer-plugin-dash-control.tgz", + "path": "refactor/.cache/dash-package-types-p4TuSa/artplayer-plugin-dash-control.tgz", "version": "2.0.0", - "sourceCommit": "1b8188834768605f312a5ed14dab52d75b9c880c", - "inputFingerprint": "3130f6e7c49373a87b094582bcc9affbdf799c562ec688137bb96f3d7ed42157", - "integrity": "sha512-01z5sdzWx7zNFiUITEelZ8f9v+rSGiYH3HkxnTN0qQxQY12la0fJ1kK5YIFRzoeWcj4cakygSsvMuPqjQ6OFKQ==" + "sourceCommit": "b029062acef15293b759b8bcc786d37f47fdbfdb", + "inputFingerprint": "3f289a02d0f401e796b61c48f1a774a152b3efb5eb8fe3c97f3b0163b2315a42", + "integrity": "sha512-uyxD/1mEYEVSfJ4R0TvOs1V+vK/yd4qZ1PteY9uOHPuAcIhtd79gyNRjyNXYtOlaGC/ZowYd5o37i+4BJgi/WA==" }, "evidence": { "build": { - "path": "refactor/baselines/major-candidate-build/artplayer-plugin-dash-control.json", - "sha256": "1ecc3c78adffcbc2927be782dba77b4135163353c98cb5f7f02372c10cf4250c" + "path": "refactor/baselines/major-candidate-build/artplayer-plugin-dash-control-docs.json", + "sha256": "47caeb2da405440e06b4b18887394c62d3f4bd3bc49c004aaa4e4e1e87028548" } } }, diff --git a/refactor/release-ledger.md b/refactor/release-ledger.md index cc2da5b6b..c0c121845 100644 --- a/refactor/release-ledger.md +++ b/refactor/release-ledger.md @@ -147,6 +147,11 @@ licenses须覆盖所有适用vendor、SDK/外部集成及直接运行依赖ID, 候选和收集材料,不能借分批删除项目整体要求。未来如正式拆分独立批次复盘,须按 release-reviews.md新建任务和明确范围,并更新本台账模型及反向测试,不能删共享门槛。 +2026-09-16:DASH维护说明明确同步getter/formatter与异步刷新边界后,已从b029062ac +重新构建2.0.0、隔离安装并更新候选与build封套。只有ARCHITECTURE成员变化,五组 +类型消费及全部10个归档成员核对通过。见[候选刷新](baselines/dash-candidate-refresh.json) +及[登记复核](baselines/dash-candidate-refresh-check.json);旧浏览器报告未重绑到新候选。 + ## 维护地图 - `scripts/release-ledger-model.mjs`:纯门槛、范围、依赖闭包和阻断计算。 diff --git a/refactor/tasks.json b/refactor/tasks.json index caa49a956..aae4d6747 100644 --- a/refactor/tasks.json +++ b/refactor/tasks.json @@ -5045,7 +5045,10 @@ "baselines/auto-thumbnail-candidate-refresh-check.json", "changes/2026-09-16-REL-02-thumbnail-refresh.md", "baselines/thumbnail-candidate-refresh.json", - "baselines/thumbnail-candidate-refresh-check.json" + "baselines/thumbnail-candidate-refresh-check.json", + "changes/2026-09-16-REL-02-dash-refresh.md", + "baselines/dash-candidate-refresh.json", + "baselines/dash-candidate-refresh-check.json" ] }, {