@pie-players/pie-players-shared 0.3.29 → 0.3.31

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.
Files changed (197) hide show
  1. package/{src → dist}/components/PieItemPlayer.svelte +156 -88
  2. package/dist/i18n/translations/en/tools.json +1 -1
  3. package/{src → dist}/i18n/use-i18n-standalone.svelte.ts +1 -0
  4. package/{src → dist}/i18n/use-i18n.svelte.ts +1 -0
  5. package/dist/index.d.ts +2 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +6 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/loader-config.d.ts +25 -0
  10. package/dist/loader-config.d.ts.map +1 -1
  11. package/dist/loader-config.js +5 -0
  12. package/dist/loader-config.js.map +1 -1
  13. package/dist/loaders/ElementLoader.d.ts +6 -34
  14. package/dist/loaders/ElementLoader.d.ts.map +1 -1
  15. package/dist/loaders/ElementLoader.js +21 -9
  16. package/dist/loaders/ElementLoader.js.map +1 -1
  17. package/dist/loaders/element-loader-types.d.ts +91 -0
  18. package/dist/loaders/element-loader-types.d.ts.map +1 -0
  19. package/dist/loaders/element-loader-types.js +26 -0
  20. package/dist/loaders/element-loader-types.js.map +1 -0
  21. package/dist/loaders/element-loader.d.ts +92 -0
  22. package/dist/loaders/element-loader.d.ts.map +1 -0
  23. package/dist/loaders/element-loader.js +391 -0
  24. package/dist/loaders/element-loader.js.map +1 -0
  25. package/dist/loaders/esm-adapter.d.ts +40 -0
  26. package/dist/loaders/esm-adapter.d.ts.map +1 -0
  27. package/dist/loaders/esm-adapter.js +274 -0
  28. package/dist/loaders/esm-adapter.js.map +1 -0
  29. package/dist/loaders/iife-adapter.d.ts +86 -0
  30. package/dist/loaders/iife-adapter.d.ts.map +1 -0
  31. package/dist/loaders/iife-adapter.js +365 -0
  32. package/dist/loaders/iife-adapter.js.map +1 -0
  33. package/dist/loaders/index.d.ts +30 -17
  34. package/dist/loaders/index.d.ts.map +1 -1
  35. package/dist/loaders/index.js +26 -14
  36. package/dist/loaders/index.js.map +1 -1
  37. package/dist/pie/config.d.ts.map +1 -1
  38. package/dist/pie/config.js +12 -5
  39. package/dist/pie/config.js.map +1 -1
  40. package/dist/pie/index.d.ts +6 -4
  41. package/dist/pie/index.d.ts.map +1 -1
  42. package/dist/pie/index.js +8 -2
  43. package/dist/pie/index.js.map +1 -1
  44. package/dist/pie/initialization.d.ts +26 -1
  45. package/dist/pie/initialization.d.ts.map +1 -1
  46. package/dist/pie/initialization.js +72 -15
  47. package/dist/pie/initialization.js.map +1 -1
  48. package/dist/pie/instrumentation-event-map.d.ts.map +1 -1
  49. package/dist/pie/instrumentation-event-map.js +27 -16
  50. package/dist/pie/instrumentation-event-map.js.map +1 -1
  51. package/dist/pie/overrides.d.ts +9 -0
  52. package/dist/pie/overrides.d.ts.map +1 -1
  53. package/dist/pie/overrides.js +36 -0
  54. package/dist/pie/overrides.js.map +1 -1
  55. package/dist/pie/resource-monitor.d.ts +17 -0
  56. package/dist/pie/resource-monitor.d.ts.map +1 -1
  57. package/dist/pie/resource-monitor.js +284 -81
  58. package/dist/pie/resource-monitor.js.map +1 -1
  59. package/dist/pie/stage-tracker.d.ts +51 -0
  60. package/dist/pie/stage-tracker.d.ts.map +1 -0
  61. package/dist/pie/stage-tracker.js +106 -0
  62. package/dist/pie/stage-tracker.js.map +1 -0
  63. package/dist/pie/stages.d.ts +75 -0
  64. package/dist/pie/stages.d.ts.map +1 -0
  65. package/dist/pie/stages.js +58 -0
  66. package/dist/pie/stages.js.map +1 -0
  67. package/dist/pie/updates.d.ts.map +1 -1
  68. package/dist/pie/updates.js +65 -2
  69. package/dist/pie/updates.js.map +1 -1
  70. package/dist/pie/use-resource-monitor.svelte.d.ts.map +1 -1
  71. package/dist/pie/use-resource-monitor.svelte.js +88 -75
  72. package/dist/pie/use-resource-monitor.svelte.js.map +1 -1
  73. package/dist/security/index.d.ts +5 -0
  74. package/dist/security/index.d.ts.map +1 -0
  75. package/dist/security/index.js +5 -0
  76. package/dist/security/index.js.map +1 -0
  77. package/dist/security/sanitize-item-markup.d.ts +46 -0
  78. package/dist/security/sanitize-item-markup.d.ts.map +1 -0
  79. package/dist/security/sanitize-item-markup.js +174 -0
  80. package/dist/security/sanitize-item-markup.js.map +1 -0
  81. package/dist/security/sanitize-svg-icon.d.ts +15 -0
  82. package/dist/security/sanitize-svg-icon.d.ts.map +1 -0
  83. package/dist/security/sanitize-svg-icon.js +89 -0
  84. package/dist/security/sanitize-svg-icon.js.map +1 -0
  85. package/dist/security/validate-style-url.d.ts +28 -0
  86. package/dist/security/validate-style-url.d.ts.map +1 -0
  87. package/dist/security/validate-style-url.js +58 -0
  88. package/dist/security/validate-style-url.js.map +1 -0
  89. package/dist/security/wrap-overwide-images.d.ts +31 -0
  90. package/dist/security/wrap-overwide-images.d.ts.map +1 -0
  91. package/dist/security/wrap-overwide-images.js +92 -0
  92. package/dist/security/wrap-overwide-images.js.map +1 -0
  93. package/dist/server/npm-registry.d.ts +8 -0
  94. package/dist/server/npm-registry.d.ts.map +1 -0
  95. package/dist/server/npm-registry.js +60 -0
  96. package/dist/server/npm-registry.js.map +1 -0
  97. package/dist/types/index.d.ts +10 -0
  98. package/dist/types/index.d.ts.map +1 -1
  99. package/dist/types/index.js.map +1 -1
  100. package/dist/ui/first-focusable.d.ts +21 -0
  101. package/dist/ui/first-focusable.d.ts.map +1 -0
  102. package/dist/ui/first-focusable.js +73 -0
  103. package/dist/ui/first-focusable.js.map +1 -0
  104. package/dist/ui/focus-trap.d.ts.map +1 -1
  105. package/dist/ui/focus-trap.js +2 -13
  106. package/dist/ui/focus-trap.js.map +1 -1
  107. package/dist/ui/use-promise.svelte.ts +109 -0
  108. package/package.json +49 -34
  109. package/dist/i18n/scripts/check-coverage.d.ts +0 -16
  110. package/dist/i18n/scripts/check-coverage.d.ts.map +0 -1
  111. package/dist/i18n/scripts/check-coverage.js +0 -262
  112. package/dist/i18n/scripts/check-coverage.js.map +0 -1
  113. package/dist/i18n/scripts/scan-hardcoded.d.ts +0 -16
  114. package/dist/i18n/scripts/scan-hardcoded.d.ts.map +0 -1
  115. package/dist/i18n/scripts/scan-hardcoded.js +0 -266
  116. package/dist/i18n/scripts/scan-hardcoded.js.map +0 -1
  117. package/dist/i18n/use-i18n-standalone.svelte.d.ts +0 -87
  118. package/dist/i18n/use-i18n-standalone.svelte.d.ts.map +0 -1
  119. package/dist/i18n/use-i18n-standalone.svelte.js +0 -151
  120. package/dist/i18n/use-i18n-standalone.svelte.js.map +0 -1
  121. package/dist/i18n/use-i18n.svelte.d.ts +0 -67
  122. package/dist/i18n/use-i18n.svelte.d.ts.map +0 -1
  123. package/dist/i18n/use-i18n.svelte.js +0 -144
  124. package/dist/i18n/use-i18n.svelte.js.map +0 -1
  125. package/dist/instrumentation/providers/DataDogInstrumentationProvider.d.ts +0 -170
  126. package/dist/instrumentation/providers/DataDogInstrumentationProvider.d.ts.map +0 -1
  127. package/dist/instrumentation/providers/DataDogInstrumentationProvider.js +0 -183
  128. package/dist/instrumentation/providers/DataDogInstrumentationProvider.js.map +0 -1
  129. package/dist/loaders/EsmElementLoader.d.ts +0 -69
  130. package/dist/loaders/EsmElementLoader.d.ts.map +0 -1
  131. package/dist/loaders/EsmElementLoader.js +0 -72
  132. package/dist/loaders/EsmElementLoader.js.map +0 -1
  133. package/dist/loaders/IifeElementLoader.d.ts +0 -61
  134. package/dist/loaders/IifeElementLoader.d.ts.map +0 -1
  135. package/dist/loaders/IifeElementLoader.js +0 -63
  136. package/dist/loaders/IifeElementLoader.js.map +0 -1
  137. package/dist/pie/esm-loader.d.ts +0 -104
  138. package/dist/pie/esm-loader.d.ts.map +0 -1
  139. package/dist/pie/esm-loader.js +0 -358
  140. package/dist/pie/esm-loader.js.map +0 -1
  141. package/dist/pie/iife-loader.d.ts +0 -81
  142. package/dist/pie/iife-loader.d.ts.map +0 -1
  143. package/dist/pie/iife-loader.js +0 -425
  144. package/dist/pie/iife-loader.js.map +0 -1
  145. package/dist/theming/css-variables.d.ts +0 -7
  146. package/dist/theming/css-variables.d.ts.map +0 -1
  147. package/dist/theming/css-variables.js +0 -43
  148. package/dist/theming/css-variables.js.map +0 -1
  149. package/dist/theming/index.d.ts +0 -4
  150. package/dist/theming/index.d.ts.map +0 -1
  151. package/dist/theming/index.js +0 -3
  152. package/dist/theming/index.js.map +0 -1
  153. package/dist/theming/presets.d.ts +0 -7
  154. package/dist/theming/presets.d.ts.map +0 -1
  155. package/dist/theming/presets.js +0 -146
  156. package/dist/theming/presets.js.map +0 -1
  157. package/dist/theming/types.d.ts +0 -5
  158. package/dist/theming/types.d.ts.map +0 -1
  159. package/dist/theming/types.js +0 -2
  160. package/dist/theming/types.js.map +0 -1
  161. package/dist/types/custom-elements.d.ts +0 -158
  162. package/dist/types/custom-elements.d.ts.map +0 -1
  163. package/dist/types/custom-elements.js +0 -8
  164. package/dist/types/custom-elements.js.map +0 -1
  165. package/dist/types/search.d.ts +0 -105
  166. package/dist/types/search.d.ts.map +0 -1
  167. package/dist/types/search.js +0 -12
  168. package/dist/types/search.js.map +0 -1
  169. package/dist/types/transform.d.ts +0 -48
  170. package/dist/types/transform.d.ts.map +0 -1
  171. package/dist/types/transform.js +0 -21
  172. package/dist/types/transform.js.map +0 -1
  173. package/src/i18n/README.md +0 -223
  174. package/src/i18n/index.ts +0 -26
  175. package/src/i18n/loader.ts +0 -156
  176. package/src/i18n/scripts/check-coverage.ts +0 -345
  177. package/src/i18n/scripts/scan-hardcoded.ts +0 -342
  178. package/src/i18n/simple-i18n.ts +0 -236
  179. package/src/i18n/translations/ar/common.json +0 -36
  180. package/src/i18n/translations/ar/toolkit.json +0 -48
  181. package/src/i18n/translations/ar/tools.json +0 -103
  182. package/src/i18n/translations/en/common.json +0 -36
  183. package/src/i18n/translations/en/toolkit.json +0 -48
  184. package/src/i18n/translations/en/tools.json +0 -103
  185. package/src/i18n/translations/es/common.json +0 -36
  186. package/src/i18n/translations/es/toolkit.json +0 -48
  187. package/src/i18n/translations/es/tools.json +0 -103
  188. package/src/i18n/translations/zh/common.json +0 -36
  189. package/src/i18n/translations/zh/toolkit.json +0 -48
  190. package/src/i18n/translations/zh/tools.json +0 -103
  191. package/src/i18n/types.ts +0 -66
  192. /package/{src → dist}/components/PiePreviewLayout.svelte +0 -0
  193. /package/{src → dist}/components/PiePreviewToggle.svelte +0 -0
  194. /package/{src → dist}/components/PieSpinner.svelte +0 -0
  195. /package/{src → dist}/components/ToolSettingsButton.svelte +0 -0
  196. /package/{src → dist}/components/ToolSettingsPanel.svelte +0 -0
  197. /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
- // Dispatch general success event (for any successful load)
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
- // Log successful retry specifically
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
- const shortUrl = this.truncateUrl(url);
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
- dispatchMediaRetryReady(url, detail) {
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 isAudio = target instanceof HTMLAudioElement;
532
- const isVideo = target instanceof HTMLVideoElement;
533
- if (!isAudio && !isVideo)
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 mediaTag = isAudio ? "audio" : "video";
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
- target.dispatchEvent(event);
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
- async retryResourceLoad(element, originalSrc) {
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
- // For media elements, force a fresh request to avoid cache-only replay
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, retryCount + 1);
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=${retryCount + 1}`);
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
- // For images, force reload by appending cache-busting parameter
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=${retryCount + 1}, t=${Date.now()}`);
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
- // For stylesheets, update href with cache-busting params (avoid clone/replace for Shady DOM compatibility)
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=${retryCount + 1}, t=${Date.now()}`);
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: retryCount + 1,
918
- remainingRetries: Math.max(0, this.config.maxRetries - (retryCount + 1)),
919
- willRetry: retryCount + 1 < this.config.maxRetries,
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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"}