@webex/plugin-meetings 3.11.0-next.3 → 3.11.0-next.30
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/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/config.js +5 -1
- package/dist/config.js.map +1 -1
- package/dist/hashTree/hashTree.js +18 -0
- package/dist/hashTree/hashTree.js.map +1 -1
- package/dist/hashTree/hashTreeParser.js +603 -266
- package/dist/hashTree/hashTreeParser.js.map +1 -1
- package/dist/hashTree/types.js +4 -2
- package/dist/hashTree/types.js.map +1 -1
- package/dist/hashTree/utils.js +10 -0
- package/dist/hashTree/utils.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/interceptors/constant.js +12 -0
- package/dist/interceptors/constant.js.map +1 -0
- package/dist/interceptors/dataChannelAuthToken.js +233 -0
- package/dist/interceptors/dataChannelAuthToken.js.map +1 -0
- package/dist/interceptors/index.js +7 -0
- package/dist/interceptors/index.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/index.js +80 -44
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/types.js.map +1 -1
- package/dist/media/MediaConnectionAwaiter.js +57 -1
- package/dist/media/MediaConnectionAwaiter.js.map +1 -1
- package/dist/media/properties.js +4 -2
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/index.js +134 -40
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/request.js +50 -0
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/util.js +108 -2
- package/dist/meeting/util.js.map +1 -1
- package/dist/meetings/index.js +76 -34
- package/dist/meetings/index.js.map +1 -1
- package/dist/metrics/constants.js +2 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +1 -1
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +11 -0
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/types/config.d.ts +3 -0
- package/dist/types/hashTree/hashTree.d.ts +7 -0
- package/dist/types/hashTree/hashTreeParser.d.ts +83 -12
- package/dist/types/hashTree/types.d.ts +3 -0
- package/dist/types/hashTree/utils.d.ts +6 -0
- package/dist/types/interceptors/constant.d.ts +5 -0
- package/dist/types/interceptors/dataChannelAuthToken.d.ts +35 -0
- package/dist/types/interceptors/index.d.ts +2 -1
- package/dist/types/locus-info/index.d.ts +9 -2
- package/dist/types/locus-info/types.d.ts +1 -0
- package/dist/types/media/MediaConnectionAwaiter.d.ts +10 -1
- package/dist/types/media/properties.d.ts +2 -1
- package/dist/types/meeting/index.d.ts +27 -5
- package/dist/types/meeting/request.d.ts +16 -1
- package/dist/types/meeting/request.type.d.ts +5 -0
- package/dist/types/meeting/util.d.ts +28 -0
- package/dist/types/meetings/index.d.ts +3 -1
- package/dist/types/metrics/constants.d.ts +1 -0
- package/dist/types/reactions/reactions.type.d.ts +1 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +22 -22
- package/src/config.ts +3 -0
- package/src/hashTree/hashTree.ts +17 -0
- package/src/hashTree/hashTreeParser.ts +525 -188
- package/src/hashTree/types.ts +4 -0
- package/src/hashTree/utils.ts +9 -0
- package/src/index.ts +6 -1
- package/src/interceptors/constant.ts +6 -0
- package/src/interceptors/dataChannelAuthToken.ts +142 -0
- package/src/interceptors/index.ts +2 -1
- package/src/locus-info/index.ts +110 -35
- package/src/locus-info/types.ts +1 -0
- package/src/media/MediaConnectionAwaiter.ts +41 -1
- package/src/media/properties.ts +3 -1
- package/src/meeting/index.ts +101 -22
- package/src/meeting/request.ts +42 -0
- package/src/meeting/request.type.ts +6 -0
- package/src/meeting/util.ts +132 -1
- package/src/meetings/index.ts +88 -7
- package/src/metrics/constants.ts +1 -0
- package/src/multistream/mediaRequestManager.ts +1 -1
- package/src/multistream/remoteMediaManager.ts +13 -0
- package/src/reactions/reactions.type.ts +1 -0
- package/test/unit/spec/hashTree/hashTree.ts +66 -0
- package/test/unit/spec/hashTree/hashTreeParser.ts +1594 -162
- package/test/unit/spec/interceptors/dataChannelAuthToken.ts +141 -0
- package/test/unit/spec/locus-info/index.js +173 -45
- package/test/unit/spec/media/MediaConnectionAwaiter.ts +41 -1
- package/test/unit/spec/media/properties.ts +12 -3
- package/test/unit/spec/meeting/index.js +414 -62
- package/test/unit/spec/meeting/request.js +64 -0
- package/test/unit/spec/meeting/utils.js +294 -22
- package/test/unit/spec/meetings/index.js +550 -10
- package/test/unit/spec/multistream/remoteMediaManager.ts +30 -0
|
@@ -67,6 +67,18 @@ const AllEqualLayout: VideoLayout = {
|
|
|
67
67
|
],
|
|
68
68
|
};
|
|
69
69
|
|
|
70
|
+
// An "all equal" grid, with size up to 5 x 5 = 25:
|
|
71
|
+
const AllEqual25Layout: VideoLayout = {
|
|
72
|
+
activeSpeakerVideoPaneGroups: [
|
|
73
|
+
{
|
|
74
|
+
id: 'main',
|
|
75
|
+
numPanes: 25,
|
|
76
|
+
size: 'best',
|
|
77
|
+
priority: 255,
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
};
|
|
81
|
+
|
|
70
82
|
// A layout with just a single remote active speaker video pane:
|
|
71
83
|
const SingleLayout: VideoLayout = {
|
|
72
84
|
activeSpeakerVideoPaneGroups: [
|
|
@@ -164,6 +176,7 @@ export const DefaultConfiguration: Configuration = {
|
|
|
164
176
|
|
|
165
177
|
layouts: {
|
|
166
178
|
AllEqual: AllEqualLayout,
|
|
179
|
+
AllEqual25: AllEqual25Layout,
|
|
167
180
|
OnePlusFive: OnePlusFiveLayout,
|
|
168
181
|
Single: SingleLayout,
|
|
169
182
|
Stage: Stage2x2With6ThumbnailsLayout,
|
|
@@ -652,4 +652,70 @@ describe('HashTree', () => {
|
|
|
652
652
|
expect(() => hashTree.computeLeafHash(2)).to.not.throw();
|
|
653
653
|
});
|
|
654
654
|
});
|
|
655
|
+
|
|
656
|
+
describe('getItemVersion', () => {
|
|
657
|
+
it('should return version when item exists', () => {
|
|
658
|
+
const items: LeafDataItem[] = [
|
|
659
|
+
{type: 'participant', id: 1, version: 5},
|
|
660
|
+
{type: 'self', id: 2, version: 10},
|
|
661
|
+
];
|
|
662
|
+
const hashTree = new HashTree(items, 4);
|
|
663
|
+
|
|
664
|
+
expect(hashTree.getItemVersion(1, 'participant')).to.equal(5);
|
|
665
|
+
expect(hashTree.getItemVersion(2, 'self')).to.equal(10);
|
|
666
|
+
});
|
|
667
|
+
|
|
668
|
+
it('should return undefined when item does not exist', () => {
|
|
669
|
+
const items: LeafDataItem[] = [{type: 'participant', id: 1, version: 5}];
|
|
670
|
+
const hashTree = new HashTree(items, 4);
|
|
671
|
+
|
|
672
|
+
expect(hashTree.getItemVersion(999, 'participant')).to.be.undefined;
|
|
673
|
+
});
|
|
674
|
+
|
|
675
|
+
it('should return undefined when type does not match', () => {
|
|
676
|
+
const items: LeafDataItem[] = [{type: 'participant', id: 1, version: 5}];
|
|
677
|
+
const hashTree = new HashTree(items, 4);
|
|
678
|
+
|
|
679
|
+
expect(hashTree.getItemVersion(1, 'self')).to.be.undefined;
|
|
680
|
+
});
|
|
681
|
+
|
|
682
|
+
it('should return undefined for tree with 0 leaves', () => {
|
|
683
|
+
const hashTree = new HashTree([], 0);
|
|
684
|
+
|
|
685
|
+
expect(hashTree.getItemVersion(1, 'participant')).to.be.undefined;
|
|
686
|
+
});
|
|
687
|
+
|
|
688
|
+
it('should return correct version when multiple items exist in same leaf', () => {
|
|
689
|
+
const items: LeafDataItem[] = [
|
|
690
|
+
{type: 'participant', id: 1, version: 3}, // leaf 1 (1 % 2 = 1)
|
|
691
|
+
{type: 'self', id: 3, version: 7}, // leaf 1 (3 % 2 = 1)
|
|
692
|
+
{type: 'locus', id: 5, version: 12}, // leaf 1 (5 % 2 = 1)
|
|
693
|
+
];
|
|
694
|
+
const hashTree = new HashTree(items, 2);
|
|
695
|
+
|
|
696
|
+
expect(hashTree.getItemVersion(1, 'participant')).to.equal(3);
|
|
697
|
+
expect(hashTree.getItemVersion(3, 'self')).to.equal(7);
|
|
698
|
+
expect(hashTree.getItemVersion(5, 'locus')).to.equal(12);
|
|
699
|
+
});
|
|
700
|
+
|
|
701
|
+
it('should return updated version after item is updated', () => {
|
|
702
|
+
const hashTree = new HashTree([{type: 'participant', id: 1, version: 5}], 4);
|
|
703
|
+
|
|
704
|
+
expect(hashTree.getItemVersion(1, 'participant')).to.equal(5);
|
|
705
|
+
|
|
706
|
+
hashTree.putItem({type: 'participant', id: 1, version: 10});
|
|
707
|
+
|
|
708
|
+
expect(hashTree.getItemVersion(1, 'participant')).to.equal(10);
|
|
709
|
+
});
|
|
710
|
+
|
|
711
|
+
it('should return undefined after item is removed', () => {
|
|
712
|
+
const hashTree = new HashTree([{type: 'participant', id: 1, version: 5}], 4);
|
|
713
|
+
|
|
714
|
+
expect(hashTree.getItemVersion(1, 'participant')).to.equal(5);
|
|
715
|
+
|
|
716
|
+
hashTree.removeItem({type: 'participant', id: 1, version: 5});
|
|
717
|
+
|
|
718
|
+
expect(hashTree.getItemVersion(1, 'participant')).to.be.undefined;
|
|
719
|
+
});
|
|
720
|
+
});
|
|
655
721
|
});
|