From 4952f3b8aa10bc543ccea161e34dfc1b62e83968 Mon Sep 17 00:00:00 2001 From: 4gray Date: Fri, 31 Jul 2026 08:39:48 +0200 Subject: [PATCH] fix(playback): guard Video.js Tech access --- .../playback/src/lib/vjs-player/vjs-player.types.spec.ts | 7 ++++++- libs/ui/playback/src/lib/vjs-player/vjs-player.types.ts | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/libs/ui/playback/src/lib/vjs-player/vjs-player.types.spec.ts b/libs/ui/playback/src/lib/vjs-player/vjs-player.types.spec.ts index 0c2869f42..c546ea1f9 100644 --- a/libs/ui/playback/src/lib/vjs-player/vjs-player.types.spec.ts +++ b/libs/ui/playback/src/lib/vjs-player/vjs-player.types.spec.ts @@ -32,11 +32,16 @@ describe('getVideoJsTechVideo', () => { describe('hasActiveVhsSourceHandler', () => { it('detects the documented Video.js Tech VHS runtime property', () => { + const tech = jest.fn(() => ({ vhs: {} })); + expect( hasActiveVhsSourceHandler({ - tech: () => ({ vhs: {} }), + tech, } as unknown as VideoJsPlayer) ).toBe(true); + expect(tech).toHaveBeenCalledWith({ + IWillNotUseThisInPlugins: true, + }); expect( hasActiveVhsSourceHandler({ tech: () => ({ el: () => document.createElement('video') }), diff --git a/libs/ui/playback/src/lib/vjs-player/vjs-player.types.ts b/libs/ui/playback/src/lib/vjs-player/vjs-player.types.ts index 5b9387bc0..32361a32f 100644 --- a/libs/ui/playback/src/lib/vjs-player/vjs-player.types.ts +++ b/libs/ui/playback/src/lib/vjs-player/vjs-player.types.ts @@ -102,7 +102,7 @@ export function hasActiveVhsSourceHandler( player: Pick ): boolean { try { - const vhs = player.tech()?.vhs; + const vhs = player.tech({ IWillNotUseThisInPlugins: true })?.vhs; return typeof vhs === 'object' && vhs !== null; } catch { return false;