@pie-players/pie-players-shared 0.3.28 → 0.3.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{src → dist}/components/PieItemPlayer.svelte +156 -88
- package/dist/i18n/translations/en/tools.json +1 -1
- package/{src → dist}/i18n/use-i18n-standalone.svelte.ts +1 -0
- package/{src → dist}/i18n/use-i18n.svelte.ts +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/loader-config.d.ts +25 -0
- package/dist/loader-config.d.ts.map +1 -1
- package/dist/loader-config.js +5 -0
- package/dist/loader-config.js.map +1 -1
- package/dist/pie/config.d.ts.map +1 -1
- package/dist/pie/config.js +12 -5
- package/dist/pie/config.js.map +1 -1
- package/dist/pie/custom-element-define.d.ts +1 -1
- package/dist/pie/custom-element-define.d.ts.map +1 -1
- package/dist/pie/custom-element-define.js +2 -2
- package/dist/pie/custom-element-define.js.map +1 -1
- package/dist/pie/iife-loader.d.ts +35 -0
- package/dist/pie/iife-loader.d.ts.map +1 -1
- package/dist/pie/iife-loader.js +138 -2
- package/dist/pie/iife-loader.js.map +1 -1
- package/dist/pie/index.d.ts +3 -1
- package/dist/pie/index.d.ts.map +1 -1
- package/dist/pie/index.js +1 -0
- package/dist/pie/index.js.map +1 -1
- package/dist/pie/overrides.d.ts +9 -0
- package/dist/pie/overrides.d.ts.map +1 -1
- package/dist/pie/overrides.js +36 -0
- package/dist/pie/overrides.js.map +1 -1
- package/dist/pie/resource-monitor.d.ts +17 -0
- package/dist/pie/resource-monitor.d.ts.map +1 -1
- package/dist/pie/resource-monitor.js +284 -81
- package/dist/pie/resource-monitor.js.map +1 -1
- package/dist/pie/updates.d.ts.map +1 -1
- package/dist/pie/updates.js +65 -2
- package/dist/pie/updates.js.map +1 -1
- package/dist/security/index.d.ts +5 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +5 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/sanitize-item-markup.d.ts +46 -0
- package/dist/security/sanitize-item-markup.d.ts.map +1 -0
- package/dist/security/sanitize-item-markup.js +174 -0
- package/dist/security/sanitize-item-markup.js.map +1 -0
- package/dist/security/sanitize-svg-icon.d.ts +15 -0
- package/dist/security/sanitize-svg-icon.d.ts.map +1 -0
- package/dist/security/sanitize-svg-icon.js +89 -0
- package/dist/security/sanitize-svg-icon.js.map +1 -0
- package/dist/security/validate-style-url.d.ts +28 -0
- package/dist/security/validate-style-url.d.ts.map +1 -0
- package/dist/security/validate-style-url.js +58 -0
- package/dist/security/validate-style-url.js.map +1 -0
- package/dist/security/wrap-overwide-images.d.ts +31 -0
- package/dist/security/wrap-overwide-images.d.ts.map +1 -0
- package/dist/security/wrap-overwide-images.js +92 -0
- package/dist/security/wrap-overwide-images.js.map +1 -0
- package/dist/server/npm-registry.d.ts +8 -0
- package/dist/server/npm-registry.d.ts.map +1 -0
- package/dist/server/npm-registry.js +60 -0
- package/dist/server/npm-registry.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/ui/first-focusable.d.ts +21 -0
- package/dist/ui/first-focusable.d.ts.map +1 -0
- package/dist/ui/first-focusable.js +73 -0
- package/dist/ui/first-focusable.js.map +1 -0
- package/dist/ui/focus-trap.d.ts.map +1 -1
- package/dist/ui/focus-trap.js +2 -13
- package/dist/ui/focus-trap.js.map +1 -1
- package/package.json +44 -34
- package/dist/i18n/scripts/check-coverage.d.ts +0 -16
- package/dist/i18n/scripts/check-coverage.d.ts.map +0 -1
- package/dist/i18n/scripts/check-coverage.js +0 -262
- package/dist/i18n/scripts/check-coverage.js.map +0 -1
- package/dist/i18n/scripts/scan-hardcoded.d.ts +0 -16
- package/dist/i18n/scripts/scan-hardcoded.d.ts.map +0 -1
- package/dist/i18n/scripts/scan-hardcoded.js +0 -266
- package/dist/i18n/scripts/scan-hardcoded.js.map +0 -1
- package/dist/i18n/use-i18n-standalone.svelte.d.ts +0 -87
- package/dist/i18n/use-i18n-standalone.svelte.d.ts.map +0 -1
- package/dist/i18n/use-i18n-standalone.svelte.js +0 -151
- package/dist/i18n/use-i18n-standalone.svelte.js.map +0 -1
- package/dist/i18n/use-i18n.svelte.d.ts +0 -67
- package/dist/i18n/use-i18n.svelte.d.ts.map +0 -1
- package/dist/i18n/use-i18n.svelte.js +0 -144
- package/dist/i18n/use-i18n.svelte.js.map +0 -1
- package/dist/instrumentation/providers/DataDogInstrumentationProvider.d.ts +0 -170
- package/dist/instrumentation/providers/DataDogInstrumentationProvider.d.ts.map +0 -1
- package/dist/instrumentation/providers/DataDogInstrumentationProvider.js +0 -183
- package/dist/instrumentation/providers/DataDogInstrumentationProvider.js.map +0 -1
- package/dist/theming/css-variables.d.ts +0 -7
- package/dist/theming/css-variables.d.ts.map +0 -1
- package/dist/theming/css-variables.js +0 -43
- package/dist/theming/css-variables.js.map +0 -1
- package/dist/theming/index.d.ts +0 -4
- package/dist/theming/index.d.ts.map +0 -1
- package/dist/theming/index.js +0 -3
- package/dist/theming/index.js.map +0 -1
- package/dist/theming/presets.d.ts +0 -7
- package/dist/theming/presets.d.ts.map +0 -1
- package/dist/theming/presets.js +0 -146
- package/dist/theming/presets.js.map +0 -1
- package/dist/theming/types.d.ts +0 -5
- package/dist/theming/types.d.ts.map +0 -1
- package/dist/theming/types.js +0 -2
- package/dist/theming/types.js.map +0 -1
- package/dist/types/custom-elements.d.ts +0 -158
- package/dist/types/custom-elements.d.ts.map +0 -1
- package/dist/types/custom-elements.js +0 -8
- package/dist/types/custom-elements.js.map +0 -1
- package/dist/types/search.d.ts +0 -105
- package/dist/types/search.d.ts.map +0 -1
- package/dist/types/search.js +0 -12
- package/dist/types/search.js.map +0 -1
- package/dist/types/transform.d.ts +0 -48
- package/dist/types/transform.d.ts.map +0 -1
- package/dist/types/transform.js +0 -21
- package/dist/types/transform.js.map +0 -1
- package/src/i18n/README.md +0 -223
- package/src/i18n/index.ts +0 -26
- package/src/i18n/loader.ts +0 -156
- package/src/i18n/scripts/check-coverage.ts +0 -345
- package/src/i18n/scripts/scan-hardcoded.ts +0 -342
- package/src/i18n/simple-i18n.ts +0 -236
- package/src/i18n/translations/ar/common.json +0 -36
- package/src/i18n/translations/ar/toolkit.json +0 -48
- package/src/i18n/translations/ar/tools.json +0 -103
- package/src/i18n/translations/en/common.json +0 -36
- package/src/i18n/translations/en/toolkit.json +0 -48
- package/src/i18n/translations/en/tools.json +0 -103
- package/src/i18n/translations/es/common.json +0 -36
- package/src/i18n/translations/es/toolkit.json +0 -48
- package/src/i18n/translations/es/tools.json +0 -103
- package/src/i18n/translations/zh/common.json +0 -36
- package/src/i18n/translations/zh/toolkit.json +0 -48
- package/src/i18n/translations/zh/tools.json +0 -103
- package/src/i18n/types.ts +0 -66
- /package/{src → dist}/components/PiePreviewLayout.svelte +0 -0
- /package/{src → dist}/components/PiePreviewToggle.svelte +0 -0
- /package/{src → dist}/components/PieSpinner.svelte +0 -0
- /package/{src → dist}/components/ToolSettingsButton.svelte +0 -0
- /package/{src → dist}/components/ToolSettingsPanel.svelte +0 -0
- /package/{src → dist}/components/index.ts +0 -0
|
@@ -26,6 +26,8 @@ const DEFAULT_CONFIG = {
|
|
|
26
26
|
// Constants
|
|
27
27
|
const MAX_URL_LENGTH = 80;
|
|
28
28
|
const URL_TRUNCATE_LENGTH = 77;
|
|
29
|
+
const MEDIA_RETRY_RECONCILIATION_TIMEOUT_MS = 1200;
|
|
30
|
+
const MEDIA_RETRY_RECONCILIATION_POLL_MS = 75;
|
|
29
31
|
/**
|
|
30
32
|
* Tracks resource loads and provides retry capability
|
|
31
33
|
*/
|
|
@@ -44,6 +46,10 @@ export class ResourceMonitor {
|
|
|
44
46
|
ownsProvider;
|
|
45
47
|
manageProviderLifecycle;
|
|
46
48
|
started = false;
|
|
49
|
+
lifecycleVersion = 0;
|
|
50
|
+
pendingRetryTimers = new Map();
|
|
51
|
+
retryInFlight = new Set();
|
|
52
|
+
pendingMediaChecks = new Map();
|
|
47
53
|
constructor(config = {}) {
|
|
48
54
|
const validInjectedProvider = isInstrumentationProvider(config.instrumentationProvider)
|
|
49
55
|
? config.instrumentationProvider
|
|
@@ -217,6 +223,7 @@ export class ResourceMonitor {
|
|
|
217
223
|
return;
|
|
218
224
|
}
|
|
219
225
|
this.container = container;
|
|
226
|
+
this.lifecycleVersion += 1;
|
|
220
227
|
this.setupMutationObserver();
|
|
221
228
|
this.scanContainerResources(); // Initial scan of existing resources
|
|
222
229
|
this.setupPerformanceObserver();
|
|
@@ -230,6 +237,7 @@ export class ResourceMonitor {
|
|
|
230
237
|
stop() {
|
|
231
238
|
if (!this.started)
|
|
232
239
|
return;
|
|
240
|
+
this.lifecycleVersion += 1;
|
|
233
241
|
if (this.observer) {
|
|
234
242
|
this.observer.disconnect();
|
|
235
243
|
this.observer = null;
|
|
@@ -244,6 +252,15 @@ export class ResourceMonitor {
|
|
|
244
252
|
}
|
|
245
253
|
this.retryAttempts.clear();
|
|
246
254
|
this.retryTargets.clear();
|
|
255
|
+
this.retryInFlight.clear();
|
|
256
|
+
for (const timer of this.pendingRetryTimers.values()) {
|
|
257
|
+
clearTimeout(timer);
|
|
258
|
+
}
|
|
259
|
+
this.pendingRetryTimers.clear();
|
|
260
|
+
for (const pending of this.pendingMediaChecks.values()) {
|
|
261
|
+
pending.cleanup();
|
|
262
|
+
}
|
|
263
|
+
this.pendingMediaChecks.clear();
|
|
247
264
|
this.containerResources.clear();
|
|
248
265
|
this.container = null;
|
|
249
266
|
this.started = false;
|
|
@@ -480,59 +497,234 @@ export class ResourceMonitor {
|
|
|
480
497
|
this.handleFailedLoad(originalUrl, entry, duration, retryCount, wasRetried);
|
|
481
498
|
}
|
|
482
499
|
}
|
|
500
|
+
isLifecycleActive(version) {
|
|
501
|
+
return this.started && this.lifecycleVersion === version;
|
|
502
|
+
}
|
|
503
|
+
clearRetryTracking(url) {
|
|
504
|
+
this.retryAttempts.delete(url);
|
|
505
|
+
this.retryTargets.delete(url);
|
|
506
|
+
this.retryInFlight.delete(url);
|
|
507
|
+
}
|
|
508
|
+
clearPendingMediaCheck(url) {
|
|
509
|
+
const pending = this.pendingMediaChecks.get(url);
|
|
510
|
+
if (!pending)
|
|
511
|
+
return;
|
|
512
|
+
pending.cleanup();
|
|
513
|
+
this.pendingMediaChecks.delete(url);
|
|
514
|
+
}
|
|
515
|
+
getRetryTargets(url) {
|
|
516
|
+
let trackedTargets = this.retryTargets.get(url);
|
|
517
|
+
if (!trackedTargets) {
|
|
518
|
+
trackedTargets = new Set();
|
|
519
|
+
this.retryTargets.set(url, trackedTargets);
|
|
520
|
+
}
|
|
521
|
+
return trackedTargets;
|
|
522
|
+
}
|
|
523
|
+
getPrimaryRetryTarget(url) {
|
|
524
|
+
const targets = this.retryTargets.get(url);
|
|
525
|
+
if (!targets || targets.size === 0)
|
|
526
|
+
return null;
|
|
527
|
+
for (const target of targets) {
|
|
528
|
+
return target;
|
|
529
|
+
}
|
|
530
|
+
return null;
|
|
531
|
+
}
|
|
483
532
|
/**
|
|
484
533
|
* Handle successful resource load
|
|
485
534
|
*/
|
|
486
535
|
handleSuccessfulLoad(url, entry, duration, size, retryCount, wasRetried) {
|
|
487
|
-
|
|
488
|
-
this.dispatchEvent("pie-resource-load-success", {
|
|
536
|
+
const detail = {
|
|
489
537
|
url,
|
|
490
538
|
resourceType: entry.initiatorType,
|
|
491
539
|
duration,
|
|
492
540
|
size,
|
|
493
541
|
retryCount,
|
|
494
542
|
maxRetries: this.config.maxRetries,
|
|
495
|
-
}
|
|
496
|
-
|
|
543
|
+
};
|
|
544
|
+
const isMediaInitiator = entry.initiatorType === "audio" ||
|
|
545
|
+
entry.initiatorType === "video" ||
|
|
546
|
+
entry.initiatorType === "source";
|
|
547
|
+
if (wasRetried && isMediaInitiator) {
|
|
548
|
+
this.reconcileMediaRetrySuccess(url, detail);
|
|
549
|
+
return;
|
|
550
|
+
}
|
|
551
|
+
this.dispatchEvent("pie-resource-load-success", detail);
|
|
497
552
|
if (wasRetried) {
|
|
498
|
-
|
|
499
|
-
this.logger.info(`✅ PIE Resource Retry Succeeded!\n` +
|
|
500
|
-
` URL: ${shortUrl}\n` +
|
|
501
|
-
` Retry Attempt: ${retryCount}\n` +
|
|
502
|
-
` Load Time: ${duration.toFixed(2)}ms\n` +
|
|
503
|
-
` Result: Resource now available to user`);
|
|
504
|
-
// Dispatch retry success event (in addition to general success)
|
|
505
|
-
this.dispatchEvent("pie-resource-retry-success", {
|
|
506
|
-
url,
|
|
507
|
-
resourceType: entry.initiatorType,
|
|
508
|
-
duration,
|
|
509
|
-
size,
|
|
510
|
-
retryCount,
|
|
511
|
-
maxRetries: this.config.maxRetries,
|
|
512
|
-
});
|
|
513
|
-
this.dispatchMediaRetryReady(url, {
|
|
514
|
-
url,
|
|
515
|
-
resourceType: entry.initiatorType,
|
|
516
|
-
duration,
|
|
517
|
-
size,
|
|
518
|
-
retryCount,
|
|
519
|
-
maxRetries: this.config.maxRetries,
|
|
520
|
-
});
|
|
521
|
-
// Clear retry tracking since it succeeded
|
|
522
|
-
this.retryAttempts.delete(url);
|
|
523
|
-
this.retryTargets.delete(url);
|
|
553
|
+
this.finalizeRetrySuccess(url, detail);
|
|
524
554
|
}
|
|
525
555
|
}
|
|
526
|
-
|
|
556
|
+
resolveMediaTarget(target) {
|
|
557
|
+
if (target instanceof HTMLAudioElement) {
|
|
558
|
+
return { mediaEl: target, mediaTag: "audio" };
|
|
559
|
+
}
|
|
560
|
+
if (target instanceof HTMLVideoElement) {
|
|
561
|
+
return { mediaEl: target, mediaTag: "video" };
|
|
562
|
+
}
|
|
563
|
+
if (target instanceof HTMLSourceElement) {
|
|
564
|
+
const parent = target.parentElement;
|
|
565
|
+
if (parent instanceof HTMLAudioElement) {
|
|
566
|
+
return { mediaEl: parent, mediaTag: "audio" };
|
|
567
|
+
}
|
|
568
|
+
if (parent instanceof HTMLVideoElement) {
|
|
569
|
+
return { mediaEl: parent, mediaTag: "video" };
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
return null;
|
|
573
|
+
}
|
|
574
|
+
resolveMediaTargetsForUrl(url) {
|
|
527
575
|
const targets = this.retryTargets.get(url);
|
|
528
576
|
if (!targets || targets.size === 0)
|
|
529
|
-
return;
|
|
577
|
+
return [];
|
|
578
|
+
const resolved = new Set();
|
|
579
|
+
const out = [];
|
|
530
580
|
for (const target of targets) {
|
|
531
|
-
const
|
|
532
|
-
|
|
533
|
-
|
|
581
|
+
const mediaTarget = this.resolveMediaTarget(target);
|
|
582
|
+
if (!mediaTarget)
|
|
583
|
+
continue;
|
|
584
|
+
const { mediaEl, mediaTag } = mediaTarget;
|
|
585
|
+
if (resolved.has(mediaEl))
|
|
534
586
|
continue;
|
|
535
|
-
const
|
|
587
|
+
const candidateUrl = mediaEl.currentSrc || mediaEl.src;
|
|
588
|
+
if (candidateUrl && this.getOriginalUrl(candidateUrl) !== url)
|
|
589
|
+
continue;
|
|
590
|
+
resolved.add(mediaEl);
|
|
591
|
+
out.push({ mediaEl, mediaTag });
|
|
592
|
+
}
|
|
593
|
+
return out;
|
|
594
|
+
}
|
|
595
|
+
normalizeRetrySuccessResourceType(url, resourceType) {
|
|
596
|
+
if (resourceType !== "source")
|
|
597
|
+
return resourceType;
|
|
598
|
+
const mediaTargets = this.resolveMediaTargetsForUrl(url);
|
|
599
|
+
if (mediaTargets.length === 0)
|
|
600
|
+
return resourceType;
|
|
601
|
+
return mediaTargets[0].mediaTag;
|
|
602
|
+
}
|
|
603
|
+
isMediaRetryRecovered(url) {
|
|
604
|
+
const mediaTargets = this.resolveMediaTargetsForUrl(url);
|
|
605
|
+
if (mediaTargets.length === 0)
|
|
606
|
+
return false;
|
|
607
|
+
for (const { mediaEl } of mediaTargets) {
|
|
608
|
+
const hasError = !!mediaEl.error;
|
|
609
|
+
const hasNoSource = mediaEl.networkState === HTMLMediaElement.NETWORK_NO_SOURCE;
|
|
610
|
+
const isReady = mediaEl.readyState >= HTMLMediaElement.HAVE_METADATA;
|
|
611
|
+
if (!hasError && !hasNoSource && isReady) {
|
|
612
|
+
return true;
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
return false;
|
|
616
|
+
}
|
|
617
|
+
finalizeRetrySuccess(url, detail) {
|
|
618
|
+
if (!this.retryAttempts.has(url))
|
|
619
|
+
return;
|
|
620
|
+
const successDetail = {
|
|
621
|
+
...detail,
|
|
622
|
+
resourceType: this.normalizeRetrySuccessResourceType(url, detail.resourceType),
|
|
623
|
+
};
|
|
624
|
+
const shortUrl = this.truncateUrl(url);
|
|
625
|
+
this.logger.info(`✅ PIE Resource Retry Succeeded!\n` +
|
|
626
|
+
` URL: ${shortUrl}\n` +
|
|
627
|
+
` Retry Attempt: ${successDetail.retryCount}\n` +
|
|
628
|
+
` Load Time: ${(successDetail.duration || 0).toFixed(2)}ms\n` +
|
|
629
|
+
` Result: Resource now available to user`);
|
|
630
|
+
this.dispatchEvent("pie-resource-retry-success", successDetail);
|
|
631
|
+
this.dispatchMediaRetryReady(url, successDetail);
|
|
632
|
+
this.clearPendingMediaCheck(url);
|
|
633
|
+
this.clearRetryTracking(url);
|
|
634
|
+
}
|
|
635
|
+
reconcileMediaRetrySuccess(url, detail) {
|
|
636
|
+
this.clearPendingMediaCheck(url);
|
|
637
|
+
if (this.isMediaRetryRecovered(url)) {
|
|
638
|
+
this.dispatchEvent("pie-resource-load-success", detail);
|
|
639
|
+
this.finalizeRetrySuccess(url, detail);
|
|
640
|
+
return;
|
|
641
|
+
}
|
|
642
|
+
if (this.isDebugEnabled()) {
|
|
643
|
+
this.logger.debug(`⏳ Waiting for media readiness before retry success: ${this.truncateUrl(url)}`);
|
|
644
|
+
}
|
|
645
|
+
const version = this.lifecycleVersion;
|
|
646
|
+
const mediaTargets = this.resolveMediaTargetsForUrl(url);
|
|
647
|
+
const eventHandlers = [];
|
|
648
|
+
const pollTimer = setInterval(() => {
|
|
649
|
+
if (!this.isLifecycleActive(version)) {
|
|
650
|
+
this.clearPendingMediaCheck(url);
|
|
651
|
+
return;
|
|
652
|
+
}
|
|
653
|
+
if (!this.retryAttempts.has(url)) {
|
|
654
|
+
this.clearPendingMediaCheck(url);
|
|
655
|
+
return;
|
|
656
|
+
}
|
|
657
|
+
if (this.isMediaRetryRecovered(url)) {
|
|
658
|
+
this.dispatchEvent("pie-resource-load-success", detail);
|
|
659
|
+
this.finalizeRetrySuccess(url, detail);
|
|
660
|
+
}
|
|
661
|
+
}, MEDIA_RETRY_RECONCILIATION_POLL_MS);
|
|
662
|
+
const timeoutTimer = setTimeout(() => {
|
|
663
|
+
if (!this.isLifecycleActive(version)) {
|
|
664
|
+
this.clearPendingMediaCheck(url);
|
|
665
|
+
return;
|
|
666
|
+
}
|
|
667
|
+
if (!this.retryAttempts.has(url)) {
|
|
668
|
+
this.clearPendingMediaCheck(url);
|
|
669
|
+
return;
|
|
670
|
+
}
|
|
671
|
+
this.clearPendingMediaCheck(url);
|
|
672
|
+
this.handleMediaRetryReconciliationTimeout(url, detail);
|
|
673
|
+
}, MEDIA_RETRY_RECONCILIATION_TIMEOUT_MS);
|
|
674
|
+
for (const { mediaEl } of mediaTargets) {
|
|
675
|
+
const handler = () => {
|
|
676
|
+
if (!this.isLifecycleActive(version))
|
|
677
|
+
return;
|
|
678
|
+
if (!this.retryAttempts.has(url))
|
|
679
|
+
return;
|
|
680
|
+
if (!this.isMediaRetryRecovered(url))
|
|
681
|
+
return;
|
|
682
|
+
this.dispatchEvent("pie-resource-load-success", detail);
|
|
683
|
+
this.finalizeRetrySuccess(url, detail);
|
|
684
|
+
};
|
|
685
|
+
mediaEl.addEventListener("loadedmetadata", handler);
|
|
686
|
+
mediaEl.addEventListener("canplay", handler);
|
|
687
|
+
eventHandlers.push({ mediaEl, handler });
|
|
688
|
+
}
|
|
689
|
+
this.pendingMediaChecks.set(url, {
|
|
690
|
+
cleanup: () => {
|
|
691
|
+
clearInterval(pollTimer);
|
|
692
|
+
clearTimeout(timeoutTimer);
|
|
693
|
+
for (const { mediaEl, handler } of eventHandlers) {
|
|
694
|
+
mediaEl.removeEventListener("loadedmetadata", handler);
|
|
695
|
+
mediaEl.removeEventListener("canplay", handler);
|
|
696
|
+
}
|
|
697
|
+
},
|
|
698
|
+
});
|
|
699
|
+
}
|
|
700
|
+
handleMediaRetryReconciliationTimeout(url, detail) {
|
|
701
|
+
const shortUrl = this.truncateUrl(url);
|
|
702
|
+
this.logger.warn(`⚠️ PIE Resource Retry Ready Timeout\n` +
|
|
703
|
+
` URL: ${shortUrl}\n` +
|
|
704
|
+
` Retry Attempt: ${detail.retryCount}\n` +
|
|
705
|
+
` Status: Media did not become healthy after fetch success`);
|
|
706
|
+
this.dispatchEvent("pie-resource-retry-failed", {
|
|
707
|
+
...detail,
|
|
708
|
+
error: "Media fetch succeeded but did not become ready before timeout",
|
|
709
|
+
});
|
|
710
|
+
this.trackInstrumentationError(new Error(`Resource retry reconciliation timed out before media was healthy: ${url}`), {
|
|
711
|
+
resourceUrl: url,
|
|
712
|
+
resourceType: detail.resourceType,
|
|
713
|
+
retryCount: detail.retryCount,
|
|
714
|
+
errorType: "MediaRetryReadyTimeout",
|
|
715
|
+
});
|
|
716
|
+
const retryTarget = this.getPrimaryRetryTarget(url);
|
|
717
|
+
if (retryTarget) {
|
|
718
|
+
this.retryResourceLoad(retryTarget, url);
|
|
719
|
+
return;
|
|
720
|
+
}
|
|
721
|
+
this.handlePermanentFailure(url, detail.resourceType, detail.retryCount);
|
|
722
|
+
}
|
|
723
|
+
dispatchMediaRetryReady(url, detail) {
|
|
724
|
+
const mediaTargets = this.resolveMediaTargetsForUrl(url);
|
|
725
|
+
if (mediaTargets.length === 0)
|
|
726
|
+
return;
|
|
727
|
+
for (const { mediaEl, mediaTag } of mediaTargets) {
|
|
536
728
|
const event = new CustomEvent("pie-media-retry-ready", {
|
|
537
729
|
detail: {
|
|
538
730
|
...detail,
|
|
@@ -541,7 +733,7 @@ export class ResourceMonitor {
|
|
|
541
733
|
bubbles: true,
|
|
542
734
|
composed: true,
|
|
543
735
|
});
|
|
544
|
-
|
|
736
|
+
mediaEl.dispatchEvent(event);
|
|
545
737
|
}
|
|
546
738
|
}
|
|
547
739
|
/**
|
|
@@ -777,6 +969,8 @@ export class ResourceMonitor {
|
|
|
777
969
|
* Handle permanent resource failure after all retries exhausted
|
|
778
970
|
*/
|
|
779
971
|
handlePermanentFailure(url, resourceType, retryCount) {
|
|
972
|
+
this.clearPendingMediaCheck(url);
|
|
973
|
+
this.clearRetryTracking(url);
|
|
780
974
|
if (this.isDebugEnabled()) {
|
|
781
975
|
const shortUrl = this.truncateUrl(url);
|
|
782
976
|
this.logger.error(`❌ PIE Resource Permanently Failed\n` +
|
|
@@ -831,42 +1025,11 @@ export class ResourceMonitor {
|
|
|
831
1025
|
/**
|
|
832
1026
|
* Retry loading a failed resource with exponential backoff
|
|
833
1027
|
*/
|
|
834
|
-
|
|
835
|
-
const retryCount = this.retryAttempts.get(originalSrc) || 0;
|
|
836
|
-
let trackedTargets = this.retryTargets.get(originalSrc);
|
|
837
|
-
if (!trackedTargets) {
|
|
838
|
-
trackedTargets = new Set();
|
|
839
|
-
this.retryTargets.set(originalSrc, trackedTargets);
|
|
840
|
-
}
|
|
841
|
-
trackedTargets.add(element);
|
|
842
|
-
if (retryCount >= this.config.maxRetries) {
|
|
843
|
-
this.handlePermanentFailure(originalSrc, element.tagName.toLowerCase(), retryCount);
|
|
844
|
-
return;
|
|
845
|
-
}
|
|
846
|
-
// Calculate backoff delay (exponential)
|
|
847
|
-
const delay = Math.min(this.config.initialRetryDelay * Math.pow(2, retryCount), this.config.maxRetryDelay);
|
|
848
|
-
// Log retry schedule
|
|
849
|
-
this.logRetrySchedule(originalSrc, retryCount, delay, element.tagName.toLowerCase());
|
|
850
|
-
// Track retry attempt with instrumentation provider
|
|
851
|
-
this.trackInstrumentationEvent("pie-resource-retry", {
|
|
852
|
-
url: originalSrc,
|
|
853
|
-
attempt: retryCount + 1,
|
|
854
|
-
delay,
|
|
855
|
-
});
|
|
856
|
-
// Wait before retrying
|
|
857
|
-
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
858
|
-
if (this.isDebugEnabled()) {
|
|
859
|
-
this.logger.debug(`⏱️ Retry wait completed (${delay}ms), attempting reload now...`);
|
|
860
|
-
}
|
|
861
|
-
// Increment retry count
|
|
862
|
-
this.retryAttempts.set(originalSrc, retryCount + 1);
|
|
863
|
-
// Attempt reload based on element type
|
|
1028
|
+
performRetryLoadAttempt(element, originalSrc, attemptNumber) {
|
|
864
1029
|
try {
|
|
865
1030
|
if (element instanceof HTMLAudioElement ||
|
|
866
1031
|
element instanceof HTMLVideoElement) {
|
|
867
|
-
|
|
868
|
-
// failures (e.g. ERR_CACHE_OPERATION_NOT_SUPPORTED in Chromium).
|
|
869
|
-
const retryUrl = this.withRetryParams(originalSrc, retryCount + 1);
|
|
1032
|
+
const retryUrl = this.withRetryParams(originalSrc, attemptNumber);
|
|
870
1033
|
if (element.src) {
|
|
871
1034
|
element.src = retryUrl;
|
|
872
1035
|
}
|
|
@@ -883,7 +1046,7 @@ export class ResourceMonitor {
|
|
|
883
1046
|
}
|
|
884
1047
|
}
|
|
885
1048
|
else if (element instanceof HTMLSourceElement) {
|
|
886
|
-
const retryUrl = this.withRetryParams(originalSrc,
|
|
1049
|
+
const retryUrl = this.withRetryParams(originalSrc, attemptNumber);
|
|
887
1050
|
element.src = retryUrl;
|
|
888
1051
|
const parent = element.parentElement;
|
|
889
1052
|
if (parent instanceof HTMLAudioElement ||
|
|
@@ -891,21 +1054,19 @@ export class ResourceMonitor {
|
|
|
891
1054
|
parent.load();
|
|
892
1055
|
}
|
|
893
1056
|
if (this.isDebugEnabled()) {
|
|
894
|
-
this.logger.debug(`✓ Updated <source> src with cache-busting params and reloaded parent media: retry=${
|
|
1057
|
+
this.logger.debug(`✓ Updated <source> src with cache-busting params and reloaded parent media: retry=${attemptNumber}`);
|
|
895
1058
|
}
|
|
896
1059
|
}
|
|
897
1060
|
else if (element instanceof HTMLImageElement) {
|
|
898
|
-
|
|
899
|
-
element.src = this.withRetryParams(originalSrc, retryCount + 1);
|
|
1061
|
+
element.src = this.withRetryParams(originalSrc, attemptNumber);
|
|
900
1062
|
if (this.isDebugEnabled()) {
|
|
901
|
-
this.logger.debug(`✓ Updated <img> src with cache-busting params: retry=${
|
|
1063
|
+
this.logger.debug(`✓ Updated <img> src with cache-busting params: retry=${attemptNumber}, t=${Date.now()}`);
|
|
902
1064
|
}
|
|
903
1065
|
}
|
|
904
1066
|
else if (element instanceof HTMLLinkElement) {
|
|
905
|
-
|
|
906
|
-
element.href = this.withRetryParams(originalSrc, retryCount + 1);
|
|
1067
|
+
element.href = this.withRetryParams(originalSrc, attemptNumber);
|
|
907
1068
|
if (this.isDebugEnabled()) {
|
|
908
|
-
this.logger.debug(`✓ Updated <link> href with cache-busting params: retry=${
|
|
1069
|
+
this.logger.debug(`✓ Updated <link> href with cache-busting params: retry=${attemptNumber}, t=${Date.now()}`);
|
|
909
1070
|
}
|
|
910
1071
|
}
|
|
911
1072
|
}
|
|
@@ -914,9 +1075,9 @@ export class ResourceMonitor {
|
|
|
914
1075
|
eventType: "retry",
|
|
915
1076
|
resourceUrl: this.getResourceSrc(element) || originalSrc,
|
|
916
1077
|
originalUrl: originalSrc,
|
|
917
|
-
currentRetries:
|
|
918
|
-
remainingRetries: Math.max(0, this.config.maxRetries -
|
|
919
|
-
willRetry:
|
|
1078
|
+
currentRetries: attemptNumber,
|
|
1079
|
+
remainingRetries: Math.max(0, this.config.maxRetries - attemptNumber),
|
|
1080
|
+
willRetry: attemptNumber < this.config.maxRetries,
|
|
920
1081
|
});
|
|
921
1082
|
if (this.isDebugEnabled()) {
|
|
922
1083
|
this.logger.error(`❌ Error during retry attempt for ${originalSrc}:`, error, diagnostics);
|
|
@@ -929,6 +1090,48 @@ export class ResourceMonitor {
|
|
|
929
1090
|
});
|
|
930
1091
|
}
|
|
931
1092
|
}
|
|
1093
|
+
retryResourceLoad(element, originalSrc) {
|
|
1094
|
+
this.getRetryTargets(originalSrc).add(element);
|
|
1095
|
+
if (!this.started)
|
|
1096
|
+
return;
|
|
1097
|
+
if (this.retryInFlight.has(originalSrc)) {
|
|
1098
|
+
if (this.isDebugEnabled()) {
|
|
1099
|
+
this.logger.debug(`Retry already scheduled for ${this.truncateUrl(originalSrc)}; skipping duplicate error-triggered schedule`);
|
|
1100
|
+
}
|
|
1101
|
+
return;
|
|
1102
|
+
}
|
|
1103
|
+
const currentRetries = this.retryAttempts.get(originalSrc) || 0;
|
|
1104
|
+
if (currentRetries >= this.config.maxRetries) {
|
|
1105
|
+
this.handlePermanentFailure(originalSrc, element.tagName.toLowerCase(), currentRetries);
|
|
1106
|
+
return;
|
|
1107
|
+
}
|
|
1108
|
+
const delay = Math.min(this.config.initialRetryDelay * Math.pow(2, currentRetries), this.config.maxRetryDelay);
|
|
1109
|
+
const attemptNumber = currentRetries + 1;
|
|
1110
|
+
this.retryInFlight.add(originalSrc);
|
|
1111
|
+
this.retryAttempts.set(originalSrc, attemptNumber);
|
|
1112
|
+
this.logRetrySchedule(originalSrc, currentRetries, delay, element.tagName.toLowerCase());
|
|
1113
|
+
this.trackInstrumentationEvent("pie-resource-retry", {
|
|
1114
|
+
url: originalSrc,
|
|
1115
|
+
attempt: attemptNumber,
|
|
1116
|
+
delay,
|
|
1117
|
+
});
|
|
1118
|
+
const version = this.lifecycleVersion;
|
|
1119
|
+
const timer = setTimeout(() => {
|
|
1120
|
+
this.pendingRetryTimers.delete(originalSrc);
|
|
1121
|
+
this.retryInFlight.delete(originalSrc);
|
|
1122
|
+
if (!this.isLifecycleActive(version)) {
|
|
1123
|
+
return;
|
|
1124
|
+
}
|
|
1125
|
+
const retryTarget = this.getPrimaryRetryTarget(originalSrc);
|
|
1126
|
+
if (!retryTarget)
|
|
1127
|
+
return;
|
|
1128
|
+
if (this.isDebugEnabled()) {
|
|
1129
|
+
this.logger.debug(`⏱️ Retry wait completed (${delay}ms), attempting reload now...`);
|
|
1130
|
+
}
|
|
1131
|
+
this.performRetryLoadAttempt(retryTarget, originalSrc, attemptNumber);
|
|
1132
|
+
}, delay);
|
|
1133
|
+
this.pendingRetryTimers.set(originalSrc, timer);
|
|
1134
|
+
}
|
|
932
1135
|
/**
|
|
933
1136
|
* Dispatch a custom event from the container
|
|
934
1137
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-monitor.js","sourceRoot":"","sources":["../../src/pie/resource-monitor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resource-monitor.js","sourceRoot":"","sources":["../../src/pie/resource-monitor.ts"],"names":[],"mappings":"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"}
|