unified-video-framework 1.4.402 → 1.4.404

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unified-video-framework",
3
- "version": "1.4.402",
3
+ "version": "1.4.404",
4
4
  "description": "Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more",
5
5
  "main": "packages/core/dist/index.js",
6
6
  "types": "packages/core/dist/index.d.ts",
@@ -22,6 +22,7 @@ export declare class GoogleAdsManager {
22
22
  private isAdPlaying;
23
23
  private isMuted;
24
24
  private unmuteButton;
25
+ private adSafetyTimeout;
25
26
  constructor(video: HTMLVideoElement, adContainer: HTMLElement, config: GoogleAdsConfig);
26
27
  private setupFocusHandler;
27
28
  initialize(): Promise<void>;
@@ -42,6 +43,8 @@ export declare class GoogleAdsManager {
42
43
  private toggleAdMute;
43
44
  private resumeAdPlayback;
44
45
  private hideUnmuteButton;
46
+ private restoreVideoVisibility;
47
+ private forceHideAdContainer;
45
48
  destroy(): void;
46
49
  }
47
50
  //# sourceMappingURL=GoogleAdsManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleAdsManager.d.ts","sourceRoot":"","sources":["../../src/ads/GoogleAdsManager.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,eAAe;IAE9B,QAAQ,EAAE,MAAM,CAAC;IAIjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAGxB,gBAAgB,CAAC,EAAE,KAAK,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IAGH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC/C;AAED,qBAAa,gBAAgB;IAC3B,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAClC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC;IAClC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,YAAY,CAA4B;gBAEpC,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe;IAYtF,OAAO,CAAC,iBAAiB;IAuBnB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,cAAc;IAqCtB,UAAU,IAAI,IAAI;IAoClB,sBAAsB,IAAI,IAAI;IAW9B,OAAO,CAAC,kBAAkB;IA0D1B,OAAO,CAAC,wBAAwB;IA+IhC,OAAO,CAAC,SAAS;IA4BjB,KAAK,IAAI,IAAI;IASb,MAAM,IAAI,IAAI;IASd,IAAI,IAAI,IAAI;IASZ,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAyB3D,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS/B,WAAW,IAAI,OAAO;IAOtB,OAAO,CAAC,gBAAgB;IAwGxB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,IAAI,IAAI;CAehB"}
1
+ {"version":3,"file":"GoogleAdsManager.d.ts","sourceRoot":"","sources":["../../src/ads/GoogleAdsManager.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,eAAe;IAE9B,QAAQ,EAAE,MAAM,CAAC;IAIjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAGxB,gBAAgB,CAAC,EAAE,KAAK,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IAGH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC/C;AAED,qBAAa,gBAAgB;IAC3B,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAClC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC;IAClC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,eAAe,CAAa;gBAExB,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe;IAYtF,OAAO,CAAC,iBAAiB;IAuBnB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,cAAc;IAqCtB,UAAU,IAAI,IAAI;IAoClB,sBAAsB,IAAI,IAAI;IAW9B,OAAO,CAAC,kBAAkB;IA0D1B,OAAO,CAAC,wBAAwB;IAgKhC,OAAO,CAAC,SAAS;IAqCjB,KAAK,IAAI,IAAI;IASb,MAAM,IAAI,IAAI;IASd,IAAI,IAAI,IAAI;IASZ,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI;IAyB3D,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS/B,WAAW,IAAI,OAAO;IAOtB,OAAO,CAAC,gBAAgB;IAwGxB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,sBAAsB;IAsC9B,OAAO,CAAC,oBAAoB;IAiD5B,OAAO,IAAI,IAAI;CAehB"}
@@ -6,6 +6,7 @@ export class GoogleAdsManager {
6
6
  this.isAdPlaying = false;
7
7
  this.isMuted = true;
8
8
  this.unmuteButton = null;
9
+ this.adSafetyTimeout = null;
9
10
  this.video = video;
10
11
  this.adContainer = adContainer;
11
12
  this.config = config;
@@ -151,11 +152,21 @@ export class GoogleAdsManager {
151
152
  };
152
153
  this.video.addEventListener('play', preventPlayDuringAd);
153
154
  this.video.__adPlayBlocker = preventPlayDuringAd;
155
+ this.adSafetyTimeout = setTimeout(() => {
156
+ if (this.isAdPlaying) {
157
+ console.warn('⚠️ Ad safety timeout triggered - forcing ad container to hide');
158
+ this.forceHideAdContainer();
159
+ }
160
+ }, 120000);
154
161
  this.config.onAdStart?.();
155
162
  });
156
163
  this.adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, () => {
157
164
  console.log('Ad: Content resume');
158
165
  this.isAdPlaying = false;
166
+ if (this.adSafetyTimeout) {
167
+ clearTimeout(this.adSafetyTimeout);
168
+ this.adSafetyTimeout = null;
169
+ }
159
170
  const preventPlayDuringAd = this.video.__adPlayBlocker;
160
171
  if (preventPlayDuringAd) {
161
172
  this.video.removeEventListener('play', preventPlayDuringAd);
@@ -168,6 +179,7 @@ export class GoogleAdsManager {
168
179
  this.adContainer.style.zIndex = '1';
169
180
  console.log('✅ Ad container hidden - video visible again');
170
181
  }
182
+ this.restoreVideoVisibility();
171
183
  this.config.onAdEnd?.();
172
184
  this.video.play().catch(() => { });
173
185
  });
@@ -207,6 +219,10 @@ export class GoogleAdsManager {
207
219
  const error = event.getError?.();
208
220
  console.error('Ad error:', error?.getMessage?.() || error);
209
221
  this.config.onAdError?.(error);
222
+ if (this.adSafetyTimeout) {
223
+ clearTimeout(this.adSafetyTimeout);
224
+ this.adSafetyTimeout = null;
225
+ }
210
226
  if (this.adsManager) {
211
227
  this.adsManager.destroy();
212
228
  }
@@ -217,6 +233,7 @@ export class GoogleAdsManager {
217
233
  this.adContainer.style.zIndex = '1';
218
234
  console.log('✅ Ad container hidden after error - video visible again');
219
235
  }
236
+ this.restoreVideoVisibility();
220
237
  this.isAdPlaying = false;
221
238
  this.video.play().catch(() => { });
222
239
  }
@@ -403,6 +420,64 @@ export class GoogleAdsManager {
403
420
  this.unmuteButton = null;
404
421
  }
405
422
  }
423
+ restoreVideoVisibility() {
424
+ console.log('🔍 Restoring video visibility...');
425
+ console.log('Video element state:', {
426
+ paused: this.video.paused,
427
+ currentTime: this.video.currentTime,
428
+ readyState: this.video.readyState,
429
+ networkState: this.video.networkState,
430
+ videoWidth: this.video.videoWidth,
431
+ videoHeight: this.video.videoHeight,
432
+ display: getComputedStyle(this.video).display,
433
+ visibility: getComputedStyle(this.video).visibility,
434
+ opacity: getComputedStyle(this.video).opacity
435
+ });
436
+ this.video.style.display = 'block';
437
+ this.video.style.visibility = 'visible';
438
+ this.video.style.opacity = '1';
439
+ this.video.style.zIndex = '1';
440
+ let parent = this.video.parentElement;
441
+ while (parent && parent !== document.body) {
442
+ const styles = getComputedStyle(parent);
443
+ if (styles.display === 'none' || styles.visibility === 'hidden' || styles.opacity === '0') {
444
+ console.warn('⚠️ Parent element is hidden:', parent.className);
445
+ }
446
+ parent = parent.parentElement;
447
+ }
448
+ console.log('✅ Video element visibility restored');
449
+ }
450
+ forceHideAdContainer() {
451
+ console.warn('🚨 Force hiding ad container and resuming video');
452
+ this.isAdPlaying = false;
453
+ if (this.adSafetyTimeout) {
454
+ clearTimeout(this.adSafetyTimeout);
455
+ this.adSafetyTimeout = null;
456
+ }
457
+ const preventPlayDuringAd = this.video.__adPlayBlocker;
458
+ if (preventPlayDuringAd) {
459
+ this.video.removeEventListener('play', preventPlayDuringAd);
460
+ delete this.video.__adPlayBlocker;
461
+ }
462
+ if (this.adContainer) {
463
+ this.adContainer.style.visibility = 'hidden';
464
+ this.adContainer.style.opacity = '0';
465
+ this.adContainer.style.pointerEvents = 'none';
466
+ this.adContainer.style.zIndex = '1';
467
+ console.log('✅ Ad container force-hidden');
468
+ }
469
+ if (this.adsManager) {
470
+ try {
471
+ this.adsManager.destroy();
472
+ }
473
+ catch (e) {
474
+ console.warn('Failed to destroy ads manager:', e);
475
+ }
476
+ }
477
+ this.restoreVideoVisibility();
478
+ this.video.play().catch(() => { });
479
+ this.config.onAdEnd?.();
480
+ }
406
481
  destroy() {
407
482
  this.hideUnmuteButton();
408
483
  if (this.adsManager) {
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleAdsManager.js","sourceRoot":"","sources":["../../src/ads/GoogleAdsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoogleAdsManager.js","sourceRoot":"","sources":["../../src/ads/GoogleAdsManager.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,7 @@ export class GoogleAdsManager {
43
43
  private isAdPlaying = false;
44
44
  private isMuted = true;
45
45
  private unmuteButton: HTMLElement | null = null;
46
+ private adSafetyTimeout: any = null;
46
47
 
47
48
  constructor(video: HTMLVideoElement, adContainer: HTMLElement, config: GoogleAdsConfig) {
48
49
  this.video = video;
@@ -288,6 +289,14 @@ export class GoogleAdsManager {
288
289
  // Store cleanup function to remove listener later
289
290
  (this.video as any).__adPlayBlocker = preventPlayDuringAd;
290
291
 
292
+ // ✅ Safety timeout: Force hide ad container after 120 seconds if ad gets stuck
293
+ this.adSafetyTimeout = setTimeout(() => {
294
+ if (this.isAdPlaying) {
295
+ console.warn('⚠️ Ad safety timeout triggered - forcing ad container to hide');
296
+ this.forceHideAdContainer();
297
+ }
298
+ }, 120000); // 120 seconds = 2 minutes max ad length
299
+
291
300
  this.config.onAdStart?.();
292
301
  }
293
302
  );
@@ -299,6 +308,12 @@ export class GoogleAdsManager {
299
308
  console.log('Ad: Content resume');
300
309
  this.isAdPlaying = false;
301
310
 
311
+ // ✅ Clear safety timeout
312
+ if (this.adSafetyTimeout) {
313
+ clearTimeout(this.adSafetyTimeout);
314
+ this.adSafetyTimeout = null;
315
+ }
316
+
302
317
  // Remove play blocker
303
318
  const preventPlayDuringAd = (this.video as any).__adPlayBlocker;
304
319
  if (preventPlayDuringAd) {
@@ -315,6 +330,9 @@ export class GoogleAdsManager {
315
330
  console.log('✅ Ad container hidden - video visible again');
316
331
  }
317
332
 
333
+ // ✅ Ensure video element is visible and playing
334
+ this.restoreVideoVisibility();
335
+
318
336
  this.config.onAdEnd?.();
319
337
  this.video.play().catch(() => { });
320
338
  }
@@ -402,6 +420,12 @@ export class GoogleAdsManager {
402
420
 
403
421
  this.config.onAdError?.(error);
404
422
 
423
+ // ✅ Clear safety timeout
424
+ if (this.adSafetyTimeout) {
425
+ clearTimeout(this.adSafetyTimeout);
426
+ this.adSafetyTimeout = null;
427
+ }
428
+
405
429
  // Destroy ads manager on error
406
430
  if (this.adsManager) {
407
431
  this.adsManager.destroy();
@@ -416,6 +440,9 @@ export class GoogleAdsManager {
416
440
  console.log('✅ Ad container hidden after error - video visible again');
417
441
  }
418
442
 
443
+ // ✅ Restore video visibility
444
+ this.restoreVideoVisibility();
445
+
419
446
  // Resume content playback
420
447
  this.isAdPlaying = false;
421
448
  this.video.play().catch(() => { });
@@ -665,6 +692,93 @@ export class GoogleAdsManager {
665
692
  }
666
693
  }
667
694
 
695
+ /**
696
+ * Restore video element visibility
697
+ */
698
+ private restoreVideoVisibility(): void {
699
+ console.log('🔍 Restoring video visibility...');
700
+
701
+ // Check current video state
702
+ console.log('Video element state:', {
703
+ paused: this.video.paused,
704
+ currentTime: this.video.currentTime,
705
+ readyState: this.video.readyState,
706
+ networkState: this.video.networkState,
707
+ videoWidth: this.video.videoWidth,
708
+ videoHeight: this.video.videoHeight,
709
+ display: getComputedStyle(this.video).display,
710
+ visibility: getComputedStyle(this.video).visibility,
711
+ opacity: getComputedStyle(this.video).opacity
712
+ });
713
+
714
+ // Force video element to be visible
715
+ this.video.style.display = 'block';
716
+ this.video.style.visibility = 'visible';
717
+ this.video.style.opacity = '1';
718
+ this.video.style.zIndex = '1';
719
+
720
+ // Ensure video is not hidden by any parent
721
+ let parent = this.video.parentElement;
722
+ while (parent && parent !== document.body) {
723
+ const styles = getComputedStyle(parent);
724
+ if (styles.display === 'none' || styles.visibility === 'hidden' || styles.opacity === '0') {
725
+ console.warn('⚠️ Parent element is hidden:', parent.className);
726
+ }
727
+ parent = parent.parentElement;
728
+ }
729
+
730
+ console.log('✅ Video element visibility restored');
731
+ }
732
+
733
+ /**
734
+ * Force hide ad container (safety mechanism)
735
+ */
736
+ private forceHideAdContainer(): void {
737
+ console.warn('🚨 Force hiding ad container and resuming video');
738
+
739
+ this.isAdPlaying = false;
740
+
741
+ // Clear safety timeout
742
+ if (this.adSafetyTimeout) {
743
+ clearTimeout(this.adSafetyTimeout);
744
+ this.adSafetyTimeout = null;
745
+ }
746
+
747
+ // Remove play blocker
748
+ const preventPlayDuringAd = (this.video as any).__adPlayBlocker;
749
+ if (preventPlayDuringAd) {
750
+ this.video.removeEventListener('play', preventPlayDuringAd);
751
+ delete (this.video as any).__adPlayBlocker;
752
+ }
753
+
754
+ // Hide ad container
755
+ if (this.adContainer) {
756
+ this.adContainer.style.visibility = 'hidden';
757
+ this.adContainer.style.opacity = '0';
758
+ this.adContainer.style.pointerEvents = 'none';
759
+ this.adContainer.style.zIndex = '1';
760
+ console.log('✅ Ad container force-hidden');
761
+ }
762
+
763
+ // Destroy stuck ads manager
764
+ if (this.adsManager) {
765
+ try {
766
+ this.adsManager.destroy();
767
+ } catch (e) {
768
+ console.warn('Failed to destroy ads manager:', e);
769
+ }
770
+ }
771
+
772
+ // ✅ Restore video visibility
773
+ this.restoreVideoVisibility();
774
+
775
+ // Resume video
776
+ this.video.play().catch(() => { });
777
+
778
+ // Notify callback
779
+ this.config.onAdEnd?.();
780
+ }
781
+
668
782
  /**
669
783
  * Cleanup
670
784
  */