@playkit-js/playkit-js-dual-screen 3.2.0-canary.3-780c36d → 3.2.0

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/CHANGELOG.md CHANGED
@@ -2,20 +2,218 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
- ## [3.2.0-canary.3-780c36d](https://github.com/kaltura/playkit-js-dual-screen/compare/v3.1.4...v3.2.0-canary.3-780c36d) (2023-05-15)
5
+ ## 3.2.0 (2025-03-06)
6
+
7
+
8
+ ### Features
9
+
10
+ * **FEC-14380:** update package.json ([#172](https://github.com/kaltura/playkit-js-dual-screen/issues/172)) ([396c667](https://github.com/kaltura/playkit-js-dual-screen/commit/396c667))
11
+
12
+
13
+
14
+ ### 3.1.42 (2025-01-23)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **FEC-14011:** Slide and CTA Analytics ([#167](https://github.com/kaltura/playkit-js-dual-screen/issues/167)) ([ac08f3f](https://github.com/kaltura/playkit-js-dual-screen/commit/ac08f3f))
20
+
21
+
22
+
23
+ ### 3.1.41 (2025-01-09)
24
+
25
+
26
+
27
+ ### 3.1.40 (2024-12-19)
28
+
29
+
30
+
31
+ ### 3.1.39 (2024-11-14)
32
+
33
+
34
+
35
+ ### 3.1.38 (2024-10-13)
36
+
37
+
38
+
39
+ ### 3.1.37 (2024-10-13)
40
+
41
+
42
+
43
+ ### 3.1.36 (2024-09-19)
44
+
45
+
46
+
47
+ ### 3.1.35 (2024-09-19)
48
+
49
+
50
+ ### Bug Fixes
51
+
52
+ * **FEC-14080:** Accessibility fix for the top bar and the bottom bar ([cb40886](https://github.com/kaltura/playkit-js-dual-screen/commit/cb40886))
53
+
54
+
55
+
56
+ ### 3.1.34 (2024-09-08)
57
+
58
+
59
+
60
+ ### 3.1.33 (2024-09-05)
61
+
62
+
63
+
64
+ ### 3.1.32 (2024-09-05)
65
+
66
+
67
+ ### Bug Fixes
68
+
69
+ * **FEC-14080:** Accessibility fix for the top bar and the bottom bar ([ea4e2d6](https://github.com/kaltura/playkit-js-dual-screen/commit/ea4e2d6))
70
+
71
+
72
+
73
+ ### 3.1.31 (2024-08-22)
74
+
75
+
76
+
77
+ ### 3.1.30 (2024-08-03)
78
+
79
+
80
+
81
+ ### 3.1.29 (2024-05-05)
82
+
83
+
84
+
85
+ ### 3.1.28 (2024-05-02)
86
+
87
+
88
+
89
+ ### 3.1.27 (2024-04-10)
90
+
91
+
92
+
93
+ ### 3.1.26 (2024-04-09)
94
+
95
+
96
+
97
+ ### 3.1.25 (2024-03-31)
98
+
99
+
100
+
101
+ ### 3.1.24 (2024-03-31)
102
+
103
+
104
+
105
+ ### 3.1.23 (2024-03-31)
106
+
107
+
108
+
109
+ ### 3.1.22 (2024-02-25)
110
+
111
+
112
+
113
+ ### 3.1.21 (2024-02-25)
114
+
115
+
116
+
117
+ ### 3.1.20 (2024-01-18)
118
+
119
+
120
+ ### Bug Fixes
121
+
122
+ * **FEC-13591:** disable FF native PiP for dualscreen player ([#128](https://github.com/kaltura/playkit-js-dual-screen/issues/128)) ([d1a041d](https://github.com/kaltura/playkit-js-dual-screen/commit/d1a041d))
123
+
124
+
125
+
126
+ ### 3.1.19 (2024-01-07)
127
+
128
+
129
+
130
+ ### 3.1.18 (2024-01-07)
131
+
132
+
133
+
134
+ ### 3.1.17 (2023-12-24)
135
+
136
+
137
+
138
+ ### 3.1.16 (2023-12-07)
139
+
140
+
141
+
142
+ ### 3.1.15 (2023-11-28)
143
+
144
+
145
+
146
+ ### 3.1.14 (2023-11-12)
147
+
148
+
149
+
150
+ ### 3.1.13 (2023-11-12)
6
151
 
7
152
 
8
153
  ### Bug Fixes
9
154
 
10
- * **FEC-13121:** add configuration that allow control if settings component should be removed from player ([#104](https://github.com/kaltura/playkit-js-dual-screen/issues/104)) ([0bddc2f](https://github.com/kaltura/playkit-js-dual-screen/commit/0bddc2f))
11
- * **FEC-13145:** upgrade dependancies for common and ui-managers etc ([#105](https://github.com/kaltura/playkit-js-dual-screen/issues/105)) ([780c36d](https://github.com/kaltura/playkit-js-dual-screen/commit/780c36d))
155
+ * **FEC-13421:** Future slides thumbnail are not shown on timline when hovering on timeline ([#121](https://github.com/kaltura/playkit-js-dual-screen/issues/121)) ([ed0fafb](https://github.com/kaltura/playkit-js-dual-screen/commit/ed0fafb))
156
+
157
+
158
+
159
+ ### 3.1.12 (2023-10-16)
160
+
161
+
162
+
163
+ ### 3.1.11 (2023-08-21)
164
+
165
+
166
+
167
+ ### 3.1.10 (2023-07-26)
168
+
169
+
170
+ ### Bug Fixes
171
+
172
+ * **FEC-13265:** upd dependency script ([#116](https://github.com/kaltura/playkit-js-dual-screen/issues/116)) ([92465f2](https://github.com/kaltura/playkit-js-dual-screen/commit/92465f2))
173
+
174
+
175
+
176
+ ### 3.1.9 (2023-07-05)
177
+
178
+
179
+ ### Bug Fixes
180
+
181
+ * **FEC-13260:** player pauses if video el absent ([#115](https://github.com/kaltura/playkit-js-dual-screen/issues/115)) ([f780a66](https://github.com/kaltura/playkit-js-dual-screen/commit/f780a66))
182
+
183
+
184
+
185
+ ### 3.1.8 (2023-07-03)
186
+
187
+
188
+ ### Bug Fixes
189
+
190
+ * **FEC-13257:** invalid icon in sbs mode ([#113](https://github.com/kaltura/playkit-js-dual-screen/issues/113)) ([1c3580e](https://github.com/kaltura/playkit-js-dual-screen/commit/1c3580e))
191
+
192
+
193
+
194
+ ### 3.1.7 (2023-06-27)
195
+
196
+
197
+ ### Bug Fixes
198
+
199
+ * **FEC-13224:** fix race condition for image player ([#111](https://github.com/kaltura/playkit-js-dual-screen/issues/111)) ([c6ccb69](https://github.com/kaltura/playkit-js-dual-screen/commit/c6ccb69))
200
+
201
+
202
+
203
+ ### 3.1.6 (2023-06-07)
204
+
205
+ ### [3.1.5](https://github.com/kaltura/playkit-js-dual-screen/compare/v3.1.4...v3.1.5) (2023-05-15)
12
206
 
13
207
 
14
208
  ### Features
15
209
 
16
- * **FEC-12946:** multiscreen ([#103](https://github.com/kaltura/playkit-js-dual-screen/issues/103)) ([5d973b8](https://github.com/kaltura/playkit-js-dual-screen/commit/5d973b8))
210
+ * **FEC-12946:** multiscreen ([#103](https://github.com/kaltura/playkit-js-dual-screen/issues/103)) ([5d973b8](https://github.com/kaltura/playkit-js-dual-screen/commit/5d973b8632ac6136335418abcbc61f06863dc3a7))
17
211
 
18
212
 
213
+ ### Bug Fixes
214
+
215
+ * **FEC-13121:** add configuration that allow control if settings component should be removed from player ([#104](https://github.com/kaltura/playkit-js-dual-screen/issues/104)) ([0bddc2f](https://github.com/kaltura/playkit-js-dual-screen/commit/0bddc2f66c0e6a88a10f9e0e1253ff6c07195780))
216
+ * **FEC-13145:** upgrade dependancies for common and ui-managers etc ([#105](https://github.com/kaltura/playkit-js-dual-screen/issues/105)) ([780c36d](https://github.com/kaltura/playkit-js-dual-screen/commit/780c36d85555ae24143b76283af55ca6656d7596))
19
217
 
20
218
  ### [3.1.4](https://github.com/kaltura/playkit-js-dual-screen/compare/v3.1.3...v3.1.4) (2023-04-19)
21
219
 
@@ -154,7 +352,7 @@ All notable changes to this project will be documented in this file. See [standa
154
352
 
155
353
  * **FEV-1103:** incorrect live indicator color (state) appear when changing states between DVR to live ([#43](https://github.com/kaltura/playkit-js-dual-screen/issues/43)) ([b020a2b](https://github.com/kaltura/playkit-js-dual-screen/commit/b020a2b8cb8480bd12073cd1dd54534b207191fc))
156
354
  * **FEV-1120:** parent and child screens cannot be switched on SBS layout ([#45](https://github.com/kaltura/playkit-js-dual-screen/issues/45)) ([a7c1f95](https://github.com/kaltura/playkit-js-dual-screen/commit/a7c1f95907784881770f8bc3620400470e1e3815))
157
- * **FEV-1127:** slide appear in child container when changing slides in webcast application while producer set "hide slides" mode ([#44](https://github.com/kaltura/playkit-js-dual-screen/issues/44)) ([914225e](https://github.com/kaltura/playkit-js-dual-screen/commit/914225ebcfc18a4c3e97ef9b29e98ae342002bdd))
355
+ * **FEV-1127:** slide appear in child container when changing slides in webcast application while producer set "hide slides" mode ([#44](https://github.com/kaltura/playkit-js-dual-screen/issues/44)) ([914225e](https://github.com/kaltura/playkit-js-dual-screen/commit/914225ebcfc18a4c3e97ef9b29e98ae3.2.02bdd))
158
356
  * **FEV-1130:** Captions disappear when child video is in hidden mode ([#46](https://github.com/kaltura/playkit-js-dual-screen/issues/46)) ([3108788](https://github.com/kaltura/playkit-js-dual-screen/commit/31087880e4cc8265e435610976126cde763e548a))
159
357
 
160
358
  ### [1.7.4](https://github.com/kaltura/playkit-js-dual-screen/compare/v1.7.3...v1.7.4) (2021-11-04)
package/README.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # PlayKit JS Dual Screen - Dual Screen plugin for the [PlayKit JS Player]
2
2
 
3
+ [![Build Status](https://github.com/kaltura/playkit-js-dual-screen/actions/workflows/run_canary_full_flow.yaml/badge.svg)](https://github.com/kaltura/playkit-js-dual-screen/actions/workflows/run_canary_full_flow.yaml)
4
+ [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
5
+ [![](https://img.shields.io/npm/v/@playkit-js/playkit-js-dual-screen/latest.svg)](https://www.npmjs.com/package/@playkit-js/playkit-js-dual-screen)
6
+ [![](https://img.shields.io/npm/v/@playkit-js/playkit-js-dual-screen/canary.svg)](https://www.npmjs.com/package/@playkit-js/playkit-js-dual-screen/v/canary)
7
+
3
8
  PlayKit JS Dual Screen is written in [ECMAScript6], statically analysed using [Typescript] and transpiled in ECMAScript5 using [Babel].
4
9
 
5
10
  [typescript]: https://www.typescriptlang.org/
@@ -4,6 +4,10 @@ import {mockKalturaBe, loadPlayer, MANIFEST, MANIFEST_SAFARI, getPlayer} from '.
4
4
 
5
5
  const {EventType, FakeEvent, Error} = core;
6
6
 
7
+ Cypress.on('uncaught:exception', (err, runnable) => {
8
+ return false;
9
+ });
10
+
7
11
  describe('Dual-Screen plugin', () => {
8
12
  beforeEach(() => {
9
13
  // manifest
@@ -12,7 +16,7 @@ describe('Dual-Screen plugin', () => {
12
16
  cy.intercept('GET', '**/width/164/vid_slices/100', {fixture: '100.jpeg'});
13
17
  cy.intercept('GET', '**/height/360/width/640', {fixture: '640.jpeg'});
14
18
  // kava
15
- cy.intercept('GET', '**/index.php?service=analytics*', {});
19
+ cy.intercept('**/index.php?service=analytics*', {});
16
20
  });
17
21
 
18
22
  describe('dual-screen layouts', () => {
@@ -169,8 +173,7 @@ describe('Dual-Screen plugin', () => {
169
173
  });
170
174
  });
171
175
  });
172
- it.skip('should render multiscreen wrapper with 2 players', () => {
173
- // TODO: enable test after fix done for image player in multiscreen
176
+ it('should render multiscreen wrapper with 2 players', () => {
174
177
  mockKalturaBe('dual-screen-2-media.json', 'cue-points.json');
175
178
  loadPlayer({}, {startTime: 15}).then(() => {
176
179
  cy.get('[data-testid="dualscreen_multiscreen"]').within(() => {
@@ -350,4 +353,112 @@ describe('Dual-Screen plugin', () => {
350
353
  });
351
354
  });
352
355
  });
356
+
357
+ describe('Dual-screen plugin API', () => {
358
+ const testThumbsResult = (result: any, expectedResult: any) => {
359
+ return (
360
+ result.height === expectedResult.height &&
361
+ result.url === expectedResult.url &&
362
+ result.width === expectedResult.width &&
363
+ result.x === expectedResult.x &&
364
+ result.y === expectedResult.y &&
365
+ result.slide === expectedResult.slide
366
+ );
367
+ };
368
+ it('should check dual-screen service got registered', () => {
369
+ mockKalturaBe('dual-screen-0-media.json', 'cue-points-empty.json');
370
+ loadPlayer({}, {autoplay: false}).then(kalturaPlayer => {
371
+ const dualScreenService = kalturaPlayer.getService('dualScreen');
372
+ expect(dualScreenService).not.undefined;
373
+ expect(dualScreenService).has.keys(['getDualScreenThumbs', 'getDualScreenPlayers', 'ready']);
374
+ });
375
+ });
376
+ it('should return thumbs for 2 active media', () => {
377
+ mockKalturaBe('dual-screen-2-media.json', 'cue-points-empty.json');
378
+ loadPlayer({layout: 'PIP'}).then(kalturaPlayer => {
379
+ const thumbResult = {
380
+ height: 92,
381
+ url: 'https://qa-apache-php7.dev.kaltura.com/p/5174/sp/517400/thumbnail/entry_id/0_5n7s22ge/version/100002/width/164/vid_slices/100',
382
+ width: 164,
383
+ x: 164,
384
+ y: 0,
385
+ slide: undefined
386
+ };
387
+ const dualScreenService = kalturaPlayer.getService('dualScreen');
388
+ cy.get('[data-testid="dualscreen_pipChildren"]').then(() => {
389
+ const thumbs = dualScreenService.getDualScreenThumbs(1);
390
+ expect(Array.isArray(thumbs)).to.be.true;
391
+ thumbs.map((thumbInfo: any) => {
392
+ expect(testThumbsResult(thumbInfo, thumbResult)).to.be.true;
393
+ });
394
+ });
395
+ });
396
+ });
397
+ it('should return 1 thumbs if layout SingleMedia', () => {
398
+ mockKalturaBe('dual-screen-1-media.json', 'cue-points-empty.json');
399
+ loadPlayer({layout: 'SingleMedia'}).then(kalturaPlayer => {
400
+ const dualScreenService = kalturaPlayer.getService('dualScreen');
401
+ cy.get('[data-testid="dualscreen_pipMinimized"]').then(() => {
402
+ const thumbs = dualScreenService.getDualScreenThumbs(1);
403
+ expect(Array.isArray(thumbs)).to.be.false;
404
+ expect(typeof thumbs === 'object').to.be.true;
405
+ });
406
+ });
407
+ });
408
+ it('should test media and slide thumb', () => {
409
+ mockKalturaBe('dual-screen-0-media.json', 'cue-points.json');
410
+ loadPlayer({}, {startTime: 15}).then(kalturaPlayer => {
411
+ const dualScreenService = kalturaPlayer.getService('dualScreen');
412
+ cy.get('[alt="Slide 2"]')
413
+ .and('have.prop', 'naturalWidth')
414
+ .should('be.greaterThan', 0)
415
+ .then(() => {
416
+ const slideThumb = {
417
+ height: 223,
418
+ slide: true,
419
+ url: 'https://mock-thumb-assets/api_v3/index.php/service/thumbAsset/action/serve//thumbAssetId/1_ri4o1mvs/ks/123',
420
+ width: 400,
421
+ x: 0,
422
+ y: 0
423
+ };
424
+ const mediaThumb = {
425
+ height: 92,
426
+ url: 'https://qa-apache-php7.dev.kaltura.com/p/5174/sp/517400/thumbnail/entry_id/0_5n7s22ge/version/100002/width/164/vid_slices/100',
427
+ width: 164,
428
+ x: 4264,
429
+ y: 0,
430
+ slide: undefined
431
+ };
432
+ const thumbs = dualScreenService.getDualScreenThumbs(16);
433
+ expect(testThumbsResult(thumbs[0], mediaThumb)).to.be.true;
434
+ expect(thumbs[1]).to.eql(slideThumb);
435
+ });
436
+ });
437
+ });
438
+ });
439
+
440
+ describe('analytics events', () => {
441
+ it('should raise the SIDE_DISPLAYED event', done => {
442
+ mockKalturaBe('dual-screen-1-media.json', 'cue-points-empty.json');
443
+ loadPlayer({layout: 'PIP'}).then(playerMain => {
444
+ playerMain.addEventListener('dualscreen_side_displayed', () => {
445
+ done();
446
+ });
447
+ });
448
+ });
449
+
450
+ it('should raise the CHANGE_LAYOUT event', done => {
451
+ mockKalturaBe('dual-screen-1-media.json', 'cue-points-empty.json');
452
+ loadPlayer({layout: 'PIP'}).then(playerMain => {
453
+ playerMain.addEventListener('dualscreen_change_layout', () => {
454
+ done();
455
+ });
456
+
457
+ cy.get('[data-testid="dualscreen_sideBySideWrapper"]').should('not.exist');
458
+ cy.get('[data-testid="dualscreen_pipChildren"]').within(() => {
459
+ cy.get('[data-testid="dualscreen_switchToSideBySide"]').click({force: true});
460
+ });
461
+ });
462
+ });
463
+ });
353
464
  });