From 9efbff8943baf206aa8b8151cc0e6d11d8529c8b Mon Sep 17 00:00:00 2001 From: Roee Dean Date: Sat, 1 Feb 2025 17:57:32 +0200 Subject: [PATCH 1/3] FEC-14289-player-should-recover-after-disconnection-bug --- src/common/utils/setup-helpers.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/common/utils/setup-helpers.ts b/src/common/utils/setup-helpers.ts index 89dfaa51a..9704c19b5 100644 --- a/src/common/utils/setup-helpers.ts +++ b/src/common/utils/setup-helpers.ts @@ -108,15 +108,15 @@ function validateProviderConfig(options: KalturaPlayerConfig): void { /** * Creates the player container dom element. * @private - * @param {string} targetId - The div id which the player will append to. * @returns {string} - The player container id. + * @param options */ -function createKalturaPlayerContainer(targetId: string): string { +function createKalturaPlayerContainer(options: PartialKPOptionsObject): string { const el = document.createElement('div'); - el.id = Utils.Generator.uniqueId(5); + el.id = options?.ui['targetId'] || Utils.Generator.uniqueId(5); el.className = CONTAINER_CLASS_NAME; el.setAttribute('tabindex', '-1'); - const parentNode = document.getElementById(targetId); + const parentNode = document.getElementById(options.targetId); if (parentNode && el) { parentNode.appendChild(el); } @@ -337,7 +337,7 @@ function getServerUIConf(): any { * @returns {KalturaPlayerConfig} - default kaltura player options. */ function getDefaultOptions(options: PartialKPOptionsObject): KalturaPlayerConfig { - const targetId = createKalturaPlayerContainer(options.targetId); + const targetId = createKalturaPlayerContainer(options); // TODO - fix all KalturaPlayerConfig and Partial relationships // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore From 736733f4825dc317a02e84c4c048d08742738dac Mon Sep 17 00:00:00 2001 From: Roee Dean Date: Sat, 1 Feb 2025 18:11:41 +0200 Subject: [PATCH 2/3] FEC-14289-player-should-recover-after-disconnection-bug --- src/common/utils/setup-helpers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/utils/setup-helpers.ts b/src/common/utils/setup-helpers.ts index 9704c19b5..afe6c9f67 100644 --- a/src/common/utils/setup-helpers.ts +++ b/src/common/utils/setup-helpers.ts @@ -113,7 +113,7 @@ function validateProviderConfig(options: KalturaPlayerConfig): void { */ function createKalturaPlayerContainer(options: PartialKPOptionsObject): string { const el = document.createElement('div'); - el.id = options?.ui['targetId'] || Utils.Generator.uniqueId(5); + el.id = options?.ui?.targetId || Utils.Generator.uniqueId(5); el.className = CONTAINER_CLASS_NAME; el.setAttribute('tabindex', '-1'); const parentNode = document.getElementById(options.targetId); From 03118df3a0fa8e7ece5a846f27ec1b88f3cf335d Mon Sep 17 00:00:00 2001 From: Roee Dean Date: Sat, 1 Feb 2025 18:46:11 +0200 Subject: [PATCH 3/3] FEC-14289-player-should-recover-after-disconnection-bug --- tests/e2e/common/utils/setup-helpers.spec.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/e2e/common/utils/setup-helpers.spec.js b/tests/e2e/common/utils/setup-helpers.spec.js index a2c44bf5b..2a565b91a 100644 --- a/tests/e2e/common/utils/setup-helpers.spec.js +++ b/tests/e2e/common/utils/setup-helpers.spec.js @@ -5,7 +5,9 @@ import * as SetupHelpers from '../../../../src/common/utils/setup-helpers'; import { Env } from '@playkit-js/playkit-js'; import { Images } from '../../mock-data/images'; -const targetId = 'player-placeholder_setup-helpers.spec'; +const options = { + targetId: 'player-placeholder_setup-helpers.spec' +}; describe('error handling', () => { it('should throw error because no config provided', (done) => { @@ -100,15 +102,15 @@ describe('error handling', () => { describe('createKalturaPlayerContainer', () => { beforeEach(() => { - TestUtils.createElement('DIV', targetId); + TestUtils.createElement('DIV', options.targetId); }); afterEach(() => { - TestUtils.removeElement(targetId); + TestUtils.removeElement(options.targetId); }); it('should create kaltura player container', () => { - const containerId = SetupHelpers.createKalturaPlayerContainer(targetId); + const containerId = SetupHelpers.createKalturaPlayerContainer(options); const el = document.getElementById(containerId); el.should.exist; el.className.should.equal('kaltura-player-container');