mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-21 04:31:20 -08:00
refactor(chromecast): [PKG-CAST-03] isolate SDK and player lifecycles
This commit is contained in:
1 parent
87cfcf5a6c
commit
b0cfbfe3a0
26 files changed
+2503
-551
No files matched your search
+55
-13
@@ -713,7 +713,7 @@
|
||||
"PKG-CAST-05"
|
||||
],
|
||||
"evidence": [
|
||||
"packages/artplayer-plugin-chromecast/src/index.js"
|
||||
"packages/artplayer-plugin-chromecast/src/sdk.ts"
|
||||
],
|
||||
"compatibleResolution": "Default remote cast_sender.js?loadCastFramework=1; sdk URL/options and actual Cast device/session behavior require separate validation.",
|
||||
"closureCriteria": "固定 SDK/外部资源版本和环境;成功/失败/切换/销毁有真实证据,设备和网络限制逐项记录。"
|
||||
@@ -4743,7 +4743,7 @@
|
||||
"id": "VENDOR-10",
|
||||
"title": "Chromecast embeds a Font Awesome Pro path with no established redistribution entitlement",
|
||||
"confirmation": "source-observed",
|
||||
"status": "open",
|
||||
"status": "resolved",
|
||||
"owners": [
|
||||
"PKG-CAST-03",
|
||||
"PKG-CAST-06"
|
||||
@@ -4753,7 +4753,14 @@
|
||||
"refactor/baselines/chromecast-release.json"
|
||||
],
|
||||
"compatibleResolution": "Replace the default embedded artwork with an owned simple Cast indicator while retaining the custom icon option and wrapper classes; keep historical provenance separate.",
|
||||
"closureCriteria": "Owned or properly licensed default artwork replaces the commercial-marked source and every shipped bundle, with source/provenance and generated-output checks."
|
||||
"closureCriteria": "Owned or properly licensed default artwork replaces the commercial-marked source and every shipped bundle, with source/provenance and generated-output checks.",
|
||||
"resolutionEvidence": [
|
||||
"refactor/changes/2026-09-13-PKG-CAST-03-runtime.md",
|
||||
"refactor/baselines/chromecast-runtime-validation.json",
|
||||
"test/chromecast-runtime.test.js",
|
||||
"test/browser/chromecast-lifecycle.spec.js"
|
||||
],
|
||||
"resolutionRationale": "Original repo-authored geometric SVG replaces the commercial path in source and all three built/copied formats; historical source remains frozen, no claim of rights in the removed artwork."
|
||||
},
|
||||
{
|
||||
"id": "CAST-TYPE-01",
|
||||
@@ -4774,7 +4781,7 @@
|
||||
"id": "CAST-SDK-01",
|
||||
"title": "Cast requestSession completion is incorrectly passed to loadMedia as a session",
|
||||
"confirmation": "reproduced",
|
||||
"status": "open",
|
||||
"status": "resolved",
|
||||
"owners": [
|
||||
"PKG-CAST-03",
|
||||
"PKG-CAST-05"
|
||||
@@ -4784,13 +4791,20 @@
|
||||
"refactor/baselines/chromecast-failures-validation.json"
|
||||
],
|
||||
"compatibleResolution": "Retrieve the actual current session after request success and validate live instance ownership.",
|
||||
"closureCriteria": "Successful undefined/null request result loads through the current session; absence and refusal preserve appropriate original errors."
|
||||
"closureCriteria": "Successful undefined/null request result loads through the current session; absence and refusal preserve appropriate original errors.",
|
||||
"resolutionEvidence": [
|
||||
"refactor/changes/2026-09-13-PKG-CAST-03-runtime.md",
|
||||
"refactor/baselines/chromecast-runtime-validation.json",
|
||||
"test/chromecast-runtime.test.js",
|
||||
"test/browser/chromecast-lifecycle.spec.js"
|
||||
],
|
||||
"resolutionRationale": "35 candidate source/main/legacy tests and 135 native browser DOM/core cases verify corrected behavior against controlled SDK boundaries. 93 frozen historical observations remain. Actual remote SDK and receivers remain SDK06/CAST05, not waived."
|
||||
},
|
||||
{
|
||||
"id": "CAST-LOADER-01",
|
||||
"title": "Cast readiness waits hang or overwrite each other across ready SDKs, repeated clicks and multiple instances",
|
||||
"confirmation": "reproduced",
|
||||
"status": "open",
|
||||
"status": "resolved",
|
||||
"owners": [
|
||||
"PKG-CAST-03",
|
||||
"PKG-CAST-05"
|
||||
@@ -4800,13 +4814,20 @@
|
||||
"refactor/baselines/chromecast-failures-validation.json"
|
||||
],
|
||||
"compatibleResolution": "Coordinate one reusable loader per document with readiness detection, shared pending work and complete error settlement.",
|
||||
"closureCriteria": "Ready, pending, failure, retry, external callback and multiple instances are covered without duplicate scripts or stranded callers."
|
||||
"closureCriteria": "Ready, pending, failure, retry, external callback and multiple instances are covered without duplicate scripts or stranded callers.",
|
||||
"resolutionEvidence": [
|
||||
"refactor/changes/2026-09-13-PKG-CAST-03-runtime.md",
|
||||
"refactor/baselines/chromecast-runtime-validation.json",
|
||||
"test/chromecast-runtime.test.js",
|
||||
"test/browser/chromecast-lifecycle.spec.js"
|
||||
],
|
||||
"resolutionRationale": "35 candidate source/main/legacy tests and 135 native browser DOM/core cases verify corrected behavior against controlled SDK boundaries. 93 frozen historical observations remain. Actual remote SDK and receivers remain SDK06/CAST05, not waived."
|
||||
},
|
||||
{
|
||||
"id": "CAST-LIFE-01",
|
||||
"title": "Cast listeners and continuations survive player destruction and update another player icon",
|
||||
"confirmation": "reproduced",
|
||||
"status": "open",
|
||||
"status": "resolved",
|
||||
"owners": [
|
||||
"PKG-CAST-03",
|
||||
"PKG-CAST-05"
|
||||
@@ -4816,13 +4837,20 @@
|
||||
"refactor/baselines/chromecast-failures-validation.json"
|
||||
],
|
||||
"compatibleResolution": "Use per-registration lifecycle ownership, scoped control nodes and obsolete-operation checks without ending a page-shared session.",
|
||||
"closureCriteria": "Destroyed players get no late media loads or callbacks; subscriptions are removed and separate players keep independent UI."
|
||||
"closureCriteria": "Destroyed players get no late media loads or callbacks; subscriptions are removed and separate players keep independent UI.",
|
||||
"resolutionEvidence": [
|
||||
"refactor/changes/2026-09-13-PKG-CAST-03-runtime.md",
|
||||
"refactor/baselines/chromecast-runtime-validation.json",
|
||||
"test/chromecast-runtime.test.js",
|
||||
"test/browser/chromecast-lifecycle.spec.js"
|
||||
],
|
||||
"resolutionRationale": "35 candidate source/main/legacy tests and 135 native browser DOM/core cases verify corrected behavior against controlled SDK boundaries. 93 frozen historical observations remain. Actual remote SDK and receivers remain SDK06/CAST05, not waived."
|
||||
},
|
||||
{
|
||||
"id": "CAST-STATE-01",
|
||||
"title": "Cast terminal session states leave the normalized callback and icon connected",
|
||||
"confirmation": "reproduced",
|
||||
"status": "open",
|
||||
"status": "resolved",
|
||||
"owners": [
|
||||
"PKG-CAST-03",
|
||||
"PKG-CAST-05"
|
||||
@@ -4832,13 +4860,20 @@
|
||||
"refactor/baselines/chromecast-failures-validation.json"
|
||||
],
|
||||
"compatibleResolution": "Map terminal states without changing the raw SessionState query API.",
|
||||
"closureCriteria": "Ended and failed states update UI and callbacks while getCastState keeps original SessionState values."
|
||||
"closureCriteria": "Ended and failed states update UI and callbacks while getCastState keeps original SessionState values.",
|
||||
"resolutionEvidence": [
|
||||
"refactor/changes/2026-09-13-PKG-CAST-03-runtime.md",
|
||||
"refactor/baselines/chromecast-runtime-validation.json",
|
||||
"test/chromecast-runtime.test.js",
|
||||
"test/browser/chromecast-lifecycle.spec.js"
|
||||
],
|
||||
"resolutionRationale": "35 candidate source/main/legacy tests and 135 native browser DOM/core cases verify corrected behavior against controlled SDK boundaries. 93 frozen historical observations remain. Actual remote SDK and receivers remain SDK06/CAST05, not waived."
|
||||
},
|
||||
{
|
||||
"id": "CAST-ERROR-01",
|
||||
"title": "Cast media loading rejection escapes on a detached Promise while the click has already fulfilled",
|
||||
"confirmation": "reproduced",
|
||||
"status": "open",
|
||||
"status": "resolved",
|
||||
"owners": [
|
||||
"PKG-CAST-03",
|
||||
"PKG-CAST-05"
|
||||
@@ -4848,7 +4883,14 @@
|
||||
"refactor/baselines/chromecast-failures-validation.json"
|
||||
],
|
||||
"compatibleResolution": "Await the complete media-loading chain and preserve one original error notification.",
|
||||
"closureCriteria": "loadMedia failure reaches the click promise exactly once, no orphan rejection or duplicated error callback; success ordering remains documented."
|
||||
"closureCriteria": "loadMedia failure reaches the click promise exactly once, no orphan rejection or duplicated error callback; success ordering remains documented.",
|
||||
"resolutionEvidence": [
|
||||
"refactor/changes/2026-09-13-PKG-CAST-03-runtime.md",
|
||||
"refactor/baselines/chromecast-runtime-validation.json",
|
||||
"test/chromecast-runtime.test.js",
|
||||
"test/browser/chromecast-lifecycle.spec.js"
|
||||
],
|
||||
"resolutionRationale": "35 candidate source/main/legacy tests and 135 native browser DOM/core cases verify corrected behavior against controlled SDK boundaries. 93 frozen historical observations remain. Actual remote SDK and receivers remain SDK06/CAST05, not waived."
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user