@vkontakte/calls-sdk 2.8.11-dev.c08ac4e9.0 → 2.8.11-dev.d67d6abf.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/CallsSDK.d.ts +16 -20
- package/abstract/BaseSignaling.d.ts +3 -4
- package/calls-sdk.cjs.js +11 -11
- package/calls-sdk.esm.js +2520 -2492
- package/classes/CallRegistry.d.ts +22 -0
- package/classes/Conversation.d.ts +13 -8
- package/classes/MediaSource.d.ts +7 -0
- package/classes/transport/Transport.d.ts +2 -0
- package/enums/SignalingNotification.d.ts +2 -1
- package/package.json +1 -1
- package/static/Capabilities.d.ts +5 -0
- package/static/External.d.ts +155 -80
- package/static/Params.d.ts +92 -86
- package/types/Capabilities.d.ts +24 -0
- package/types/ParticipantLayout.d.ts +0 -33
- package/types/SignalingMessage.d.ts +7 -0
- package/classes/DisplayLayoutRequester.d.ts +0 -32
package/static/Params.d.ts
CHANGED
|
@@ -306,12 +306,6 @@ export type ParamsObject = {
|
|
|
306
306
|
* _По умолчанию: `30`_
|
|
307
307
|
*/
|
|
308
308
|
videoTracksCount: number;
|
|
309
|
-
/**
|
|
310
|
-
* Минимальный интервал отправки diff для requestDisplayLayout в миллисекундах.
|
|
311
|
-
*
|
|
312
|
-
* _По умолчанию: `250`_
|
|
313
|
-
*/
|
|
314
|
-
requestDisplayLayoutThrottleMs: number;
|
|
315
309
|
/** @hidden */
|
|
316
310
|
movieShare: boolean;
|
|
317
311
|
/** @hidden */
|
|
@@ -349,7 +343,14 @@ export type ParamsObject = {
|
|
|
349
343
|
* Включает поддержку режима WAIT_FOR_ADMIN в звонках.
|
|
350
344
|
*/
|
|
351
345
|
waitForAdminInGroupCalls: boolean;
|
|
346
|
+
/**
|
|
347
|
+
* Включает поддержку удержания звонка
|
|
348
|
+
*/
|
|
352
349
|
hold: boolean;
|
|
350
|
+
/**
|
|
351
|
+
* Максимальное количество параллельных звонков
|
|
352
|
+
*/
|
|
353
|
+
maxParallelCalls: number;
|
|
353
354
|
/**
|
|
354
355
|
* Индекс участника для первого chunk'а который придет при установке соединения с сервером
|
|
355
356
|
*
|
|
@@ -496,104 +497,104 @@ export type ParamsObject = {
|
|
|
496
497
|
/**
|
|
497
498
|
* Получен локальный стрим с камеры/микрофона
|
|
498
499
|
*/
|
|
499
|
-
onLocalStream?: (stream: MediaStream | null, mediaSettings: MediaSettings) => void;
|
|
500
|
+
onLocalStream?: (stream: MediaStream | null, mediaSettings: MediaSettings, conversationId?: string) => void;
|
|
500
501
|
/**
|
|
501
502
|
* Локальный стрим изменился
|
|
502
503
|
*/
|
|
503
|
-
onLocalStreamUpdate?: (mediaSettings: MediaSettings, kind: MediaTrackKind) => void;
|
|
504
|
+
onLocalStreamUpdate?: (mediaSettings: MediaSettings, kind: MediaTrackKind, conversationId?: string) => void;
|
|
504
505
|
/**
|
|
505
506
|
* Локальный стрим с экрана добавлен/удалён
|
|
506
507
|
*/
|
|
507
|
-
onScreenStream?: (stream: MediaStream | null, mediaSettings: MediaSettings) => void;
|
|
508
|
+
onScreenStream?: (stream: MediaStream | null, mediaSettings: MediaSettings, conversationId?: string) => void;
|
|
508
509
|
/**
|
|
509
510
|
* Локальный стрим вимоджи добавлен/удалён
|
|
510
511
|
*/
|
|
511
|
-
onVmojiStream?: (stream: MediaStream | null, mediaSettings: MediaSettings) => void;
|
|
512
|
+
onVmojiStream?: (stream: MediaStream | null, mediaSettings: MediaSettings, conversationId?: string) => void;
|
|
512
513
|
/**
|
|
513
514
|
* Произошла ошибка вимоджи
|
|
514
515
|
*/
|
|
515
|
-
onVmojiError?: (error: VmojiError) => void;
|
|
516
|
+
onVmojiError?: (error: VmojiError, conversationId?: string) => void;
|
|
516
517
|
/**
|
|
517
518
|
* Изменился статус локального соединения
|
|
518
519
|
*/
|
|
519
|
-
onLocalStatus?: (status: ParticipantStatus) => void;
|
|
520
|
+
onLocalStatus?: (status: ParticipantStatus, conversationId?: string) => void;
|
|
520
521
|
/**
|
|
521
522
|
* Получен стрим собеседника.
|
|
522
523
|
* Если сервер закончил стримить собеседника, вместо стрима будет передан null
|
|
523
524
|
*/
|
|
524
|
-
onRemoteStream?: (userId: ExternalParticipantId, stream: MediaStream | null) => void;
|
|
525
|
+
onRemoteStream?: (userId: ExternalParticipantId, stream: MediaStream | null, conversationId?: string) => void;
|
|
525
526
|
/**
|
|
526
527
|
* Cтрим собеседника приостановлен/возобновлен.
|
|
527
528
|
*/
|
|
528
|
-
onRemoteStreamSuspended?: (userId: ExternalParticipantId, mediaType: MediaType, suspended: boolean) => void;
|
|
529
|
+
onRemoteStreamSuspended?: (userId: ExternalParticipantId, mediaType: MediaType, suspended: boolean, conversationId?: string) => void;
|
|
529
530
|
/**
|
|
530
531
|
* Получен стрим с экрана собеседника.
|
|
531
532
|
* Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
|
|
532
533
|
*/
|
|
533
|
-
onRemoteScreenStream?: (userId: ExternalParticipantId, stream: MediaStream | null) => void;
|
|
534
|
+
onRemoteScreenStream?: (userId: ExternalParticipantId, stream: MediaStream | null, conversationId?: string) => void;
|
|
534
535
|
/**
|
|
535
536
|
* Получен стрим вимоджи собеседника.
|
|
536
537
|
* Если сервер закончил стримить вимоджи собеседника, вместо стрима будет передан null
|
|
537
538
|
*/
|
|
538
|
-
onRemoteVmojiStream?: (userId: ExternalParticipantId, stream: MediaStream | null) => void;
|
|
539
|
+
onRemoteVmojiStream?: (userId: ExternalParticipantId, stream: MediaStream | null, conversationId?: string) => void;
|
|
539
540
|
/**
|
|
540
541
|
* Получен стрим трансляция или мувик от собеседника.
|
|
541
542
|
* Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
|
|
542
543
|
*/
|
|
543
|
-
onRemoteLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData) => void;
|
|
544
|
+
onRemoteLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData, conversationId?: string) => void;
|
|
544
545
|
/**
|
|
545
546
|
* Получен собственный стрим трансляция или мувик.
|
|
546
547
|
* Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
|
|
547
548
|
*/
|
|
548
|
-
onLocalLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData) => void;
|
|
549
|
+
onLocalLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData, conversationId?: string) => void;
|
|
549
550
|
/**
|
|
550
551
|
* Получено обновление стрима или лайва от собеседника.
|
|
551
552
|
*/
|
|
552
|
-
onRemoteLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState) => void;
|
|
553
|
+
onRemoteLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState, conversationId?: string) => void;
|
|
553
554
|
/**
|
|
554
555
|
* Получено обновление собственного стрима или лайва.
|
|
555
556
|
*/
|
|
556
|
-
onLocalLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState) => void;
|
|
557
|
+
onLocalLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState, conversationId?: string) => void;
|
|
557
558
|
/**
|
|
558
559
|
* Начат звонок
|
|
559
560
|
*/
|
|
560
|
-
onConversation?: (userId: ExternalParticipantId, mediaModifiers: MediaModifiers, muteStates: MuteStates, participants: ExternalParticipant[], rooms?: Rooms) => void;
|
|
561
|
+
onConversation?: (userId: ExternalParticipantId, mediaModifiers: MediaModifiers, muteStates: MuteStates, participants: ExternalParticipant[], rooms?: Rooms, conversationId?: string) => void;
|
|
561
562
|
/**
|
|
562
563
|
* Начальный список участников для постраничного звонка
|
|
563
564
|
*/
|
|
564
|
-
onConversationParticipantListChunk?: (chunk: ExternalParticipantListChunk) => void;
|
|
565
|
+
onConversationParticipantListChunk?: (chunk: ExternalParticipantListChunk, conversationId?: string) => void;
|
|
565
566
|
/**
|
|
566
567
|
* Изменились данные стрима собеседника
|
|
567
568
|
*/
|
|
568
|
-
onRemoteMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings, markers: ExternalParticipantListMarkers | null) => void;
|
|
569
|
+
onRemoteMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings, markers: ExternalParticipantListMarkers | null, conversationId?: string) => void;
|
|
569
570
|
/**
|
|
570
571
|
* Изменились данные стрима собеседника
|
|
571
572
|
*/
|
|
572
|
-
onLocalMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings) => void;
|
|
573
|
+
onLocalMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings, conversationId?: string) => void;
|
|
573
574
|
/**
|
|
574
575
|
* Полученны данные по стримам (лайв/мувик) от собеседника
|
|
575
576
|
*/
|
|
576
|
-
onRemoteSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId) => void;
|
|
577
|
+
onRemoteSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId, conversationId?: string) => void;
|
|
577
578
|
/**
|
|
578
579
|
* Полученны данные по остановленным стримам (лайв/мувик) от собеседника
|
|
579
580
|
*/
|
|
580
|
-
onRemoteSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId) => void;
|
|
581
|
+
onRemoteSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId, conversationId?: string) => void;
|
|
581
582
|
/**
|
|
582
583
|
* Полученны данные по собственным стримам (лайв/мувик)
|
|
583
584
|
*/
|
|
584
|
-
onLocalSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId) => void;
|
|
585
|
+
onLocalSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId, conversationId?: string) => void;
|
|
585
586
|
/**
|
|
586
587
|
* Полученны данные по собственным остановленным стримам (лайв/мувик)
|
|
587
588
|
*/
|
|
588
|
-
onLocalSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId) => void;
|
|
589
|
+
onLocalSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId, conversationId?: string) => void;
|
|
589
590
|
/**
|
|
590
591
|
* Добавили участника
|
|
591
592
|
*/
|
|
592
|
-
onParticipantAdded?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null) => void;
|
|
593
|
+
onParticipantAdded?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null, conversationId?: string) => void;
|
|
593
594
|
/**
|
|
594
595
|
* Участник присоединился к звонку
|
|
595
596
|
*/
|
|
596
|
-
onParticipantJoined?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers) => void;
|
|
597
|
+
onParticipantJoined?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers, conversationId?: string) => void;
|
|
597
598
|
/**
|
|
598
599
|
* Получены данные по изменению локальных состояний со стороны админа
|
|
599
600
|
* Например, принудительно опущена рука
|
|
@@ -601,80 +602,80 @@ export type ParamsObject = {
|
|
|
601
602
|
* @param participantState Полный объект состояния участника, полученный от SDK/сервера.
|
|
602
603
|
* @param global `true` – действие глобальное (для всех участников), `false` – действие локальное (только у текущего пользователя).
|
|
603
604
|
*/
|
|
604
|
-
onLocalParticipantState?: (participantState: ParticipantStateMapped, global: boolean) => void;
|
|
605
|
+
onLocalParticipantState?: (participantState: ParticipantStateMapped, global: boolean, conversationId?: string) => void;
|
|
605
606
|
/**
|
|
606
607
|
* Изменились данные состояний собеседника
|
|
607
608
|
*/
|
|
608
|
-
onRemoteParticipantState?: (userId: ExternalParticipantId, participantState: ParticipantStateMapped, markers: ExternalParticipantListMarkers | null) => void;
|
|
609
|
+
onRemoteParticipantState?: (userId: ExternalParticipantId, participantState: ParticipantStateMapped, markers: ExternalParticipantListMarkers | null, conversationId?: string) => void;
|
|
609
610
|
/**
|
|
610
611
|
* Изменились данные состояний нескольких собеседников
|
|
611
612
|
*/
|
|
612
|
-
onRemoteParticipantsState?: (stateList: ParticipantsStateList, roomId?: IRoomId) => void;
|
|
613
|
+
onRemoteParticipantsState?: (stateList: ParticipantsStateList, roomId?: IRoomId, conversationId?: string) => void;
|
|
613
614
|
/**
|
|
614
615
|
* Изменился статус соединения собеседников
|
|
615
616
|
*/
|
|
616
|
-
onRemoteStatus?: (userIds: ExternalParticipantId[], status: ParticipantStatus, data: any) => void;
|
|
617
|
+
onRemoteStatus?: (userIds: ExternalParticipantId[], status: ParticipantStatus, data: any, conversationId?: string) => void;
|
|
617
618
|
/**
|
|
618
619
|
* Разрешения на доступы были запрошены в браузере
|
|
619
620
|
*/
|
|
620
|
-
onPermissionsRequested?: () => void;
|
|
621
|
+
onPermissionsRequested?: (conversationId?: string) => void;
|
|
621
622
|
/**
|
|
622
623
|
* Ошибка получения трека с камеры или микрофона
|
|
623
624
|
*/
|
|
624
|
-
onPermissionsError?: (error: FatalError, original: Error) => void;
|
|
625
|
+
onPermissionsError?: (error: FatalError, original: Error, conversationId?: string) => void;
|
|
625
626
|
/**
|
|
626
627
|
* Пользователь отключился от звонка
|
|
627
628
|
*/
|
|
628
|
-
onRemoteRemoved?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null) => void;
|
|
629
|
+
onRemoteRemoved?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null, conversationId?: string) => void;
|
|
629
630
|
/**
|
|
630
631
|
* Изменилось состояние звонка
|
|
631
632
|
*/
|
|
632
|
-
onCallState?: (isCallActive: boolean, canAddParticipants: boolean, conversation: ConversationData) => void;
|
|
633
|
+
onCallState?: (isCallActive: boolean, canAddParticipants: boolean, conversation: ConversationData, conversationId?: string) => void;
|
|
633
634
|
/**
|
|
634
635
|
* Изменилось состояние камеры или микрофона
|
|
635
636
|
*/
|
|
636
|
-
onDeviceSwitched?: (mediaOption: MediaOption, enabled: boolean) => void;
|
|
637
|
+
onDeviceSwitched?: (mediaOption: MediaOption, enabled: boolean, conversationId?: string) => void;
|
|
637
638
|
/**
|
|
638
639
|
* Изменились состояния устройств пользователя или разрешения включать камеру/микрофон
|
|
639
640
|
*/
|
|
640
|
-
onMuteStates?: (muteStates: MuteStates, unmuteOptions: MediaOption[], mediaOptions: MediaOption[], muteAll: boolean, unmute: boolean, userId: ExternalParticipantId | null, adminId: ExternalParticipantId | null, stateUpdated?: boolean, requestedMedia?: MediaOption[], roomId?: number | null) => void;
|
|
641
|
+
onMuteStates?: (muteStates: MuteStates, unmuteOptions: MediaOption[], mediaOptions: MediaOption[], muteAll: boolean, unmute: boolean, userId: ExternalParticipantId | null, adminId: ExternalParticipantId | null, stateUpdated?: boolean, requestedMedia?: MediaOption[], roomId?: number | null, conversationId?: string) => void;
|
|
641
642
|
/**
|
|
642
643
|
* Изменились роли собеседника в звонке
|
|
643
644
|
*/
|
|
644
|
-
onRolesChanged?: (userId: ExternalParticipantId, roles: UserRole[], isInitial?: boolean) => void;
|
|
645
|
+
onRolesChanged?: (userId: ExternalParticipantId, roles: UserRole[], isInitial?: boolean, conversationId?: string) => void;
|
|
645
646
|
/**
|
|
646
647
|
* Изменились свои роли в звонке
|
|
647
648
|
*/
|
|
648
|
-
onLocalRolesChanged?: (roles: UserRole[], isInitial?: boolean) => void;
|
|
649
|
+
onLocalRolesChanged?: (roles: UserRole[], isInitial?: boolean, conversationId?: string) => void;
|
|
649
650
|
/**
|
|
650
651
|
* Закрепляет/открепляет собеседника для всех
|
|
651
652
|
*/
|
|
652
|
-
onPinnedParticipant?: (userId: ExternalParticipantId, unpin: boolean, markers: ExternalParticipantListMarkers | null, roomId?: number | null) => void;
|
|
653
|
+
onPinnedParticipant?: (userId: ExternalParticipantId, unpin: boolean, markers: ExternalParticipantListMarkers | null, roomId?: number | null, conversationId?: string) => void;
|
|
653
654
|
/**
|
|
654
655
|
* Закрепляет/открепляет текущего пользователя у других собеседников
|
|
655
656
|
*/
|
|
656
|
-
onLocalPin?: (unpin: boolean) => void;
|
|
657
|
+
onLocalPin?: (unpin: boolean, conversationId?: string) => void;
|
|
657
658
|
/**
|
|
658
659
|
* Изменились опции звонка
|
|
659
660
|
*/
|
|
660
|
-
onOptionsChanged?: (options: ConversationOption[]) => void;
|
|
661
|
-
onRateNeeded?:
|
|
661
|
+
onOptionsChanged?: (options: ConversationOption[], conversationId?: string) => void;
|
|
662
|
+
onRateNeeded?: (conversationId?: string) => void;
|
|
662
663
|
/**
|
|
663
664
|
* Изменился говорящий в звонке
|
|
664
665
|
*/
|
|
665
|
-
onSpeakerChanged?: (userId: ExternalParticipantId) => void;
|
|
666
|
+
onSpeakerChanged?: (userId: ExternalParticipantId, conversationId?: string) => void;
|
|
666
667
|
/**
|
|
667
668
|
* Громкость собеседников
|
|
668
669
|
*/
|
|
669
670
|
onVolumesDetected?: (volumes: {
|
|
670
671
|
uid: ExternalParticipantId;
|
|
671
672
|
volume: number;
|
|
672
|
-
}[]) => void;
|
|
673
|
+
}[], conversationId?: string) => void;
|
|
673
674
|
/**
|
|
674
675
|
* Громкость своего микрофона
|
|
675
676
|
*/
|
|
676
|
-
onLocalVolume?: (volume: number, isMicEnabled: boolean) => void;
|
|
677
|
-
onJoinStatus?:
|
|
677
|
+
onLocalVolume?: (volume: number, isMicEnabled: boolean, conversationId?: string) => void;
|
|
678
|
+
onJoinStatus?: (conversationId?: string) => void;
|
|
678
679
|
/**
|
|
679
680
|
* Звонок был завершен
|
|
680
681
|
*/
|
|
@@ -682,47 +683,47 @@ export type ParamsObject = {
|
|
|
682
683
|
/**
|
|
683
684
|
* Входящий звонок был принят мной
|
|
684
685
|
*/
|
|
685
|
-
onCallAccepted?: () => void;
|
|
686
|
+
onCallAccepted?: (conversationId?: string) => void;
|
|
686
687
|
/**
|
|
687
688
|
* Исходящий звонок был принят кем-то
|
|
688
689
|
* @param userId
|
|
689
690
|
*/
|
|
690
|
-
onAcceptedCall?: (userId: ExternalParticipantId, capabilities: ParticipantCapabilities) => void;
|
|
691
|
+
onAcceptedCall?: (userId: ExternalParticipantId, capabilities: ParticipantCapabilities, conversationId?: string) => void;
|
|
691
692
|
/**
|
|
692
693
|
* Список устройств изменился
|
|
693
694
|
*/
|
|
694
|
-
onDeviceChange?: () => void;
|
|
695
|
+
onDeviceChange?: (conversationId?: string) => void;
|
|
695
696
|
onMultipartyChatCreated?: (conversation: ConversationData) => void;
|
|
696
697
|
/**
|
|
697
698
|
* Изменилась подпись звонка 1:1
|
|
698
699
|
*/
|
|
699
|
-
onFingerprintChange?: (fingerprint: string) => void;
|
|
700
|
+
onFingerprintChange?: (fingerprint: string, conversationId?: string) => void;
|
|
700
701
|
/**
|
|
701
702
|
* Требуется обновление токена
|
|
702
703
|
*/
|
|
703
|
-
onTokenExpired?: () => void;
|
|
704
|
+
onTokenExpired?: (conversationId?: string) => void;
|
|
704
705
|
/**
|
|
705
706
|
* Получено сообщение чата
|
|
706
707
|
*/
|
|
707
|
-
onChatMessage?: (message: string, from: ExternalParticipantId, direct: boolean) => void;
|
|
708
|
+
onChatMessage?: (message: string, from: ExternalParticipantId, direct: boolean, conversationId?: string) => void;
|
|
708
709
|
/**
|
|
709
710
|
* Получены данные от собеседника
|
|
710
711
|
*/
|
|
711
|
-
onCustomData?: (data: JSONObject, from: ExternalParticipantId, direct: boolean) => void;
|
|
712
|
+
onCustomData?: (data: JSONObject, from: ExternalParticipantId, direct: boolean, conversationId?: string) => void;
|
|
712
713
|
/**
|
|
713
714
|
* Начата трансляция/запись звонка
|
|
714
715
|
*/
|
|
715
|
-
onRecordStarted?: (initiator: ExternalParticipantId, movieId: number, startTime: number, type: 'STREAM' | 'RECORD', externalMovieId?: string, externalOwnerId?: string, roomId?: number | null) => void;
|
|
716
|
+
onRecordStarted?: (initiator: ExternalParticipantId, movieId: number, startTime: number, type: 'STREAM' | 'RECORD', externalMovieId?: string, externalOwnerId?: string, roomId?: number | null, conversationId?: string) => void;
|
|
716
717
|
/**
|
|
717
718
|
* Закончена трансляция/запись звонка
|
|
718
719
|
*/
|
|
719
|
-
onRecordStopped?: (roomId: number | null, stopBy: ExternalParticipantId | null) => void;
|
|
720
|
+
onRecordStopped?: (roomId: number | null, stopBy: ExternalParticipantId | null, conversationId?: string) => void;
|
|
720
721
|
/**
|
|
721
722
|
* Состояние своей сети
|
|
722
723
|
*
|
|
723
724
|
* @param rating Оценка качества соединения от 0 до 1
|
|
724
725
|
*/
|
|
725
|
-
onLocalNetworkStatusChanged?: (rating: number) => void;
|
|
726
|
+
onLocalNetworkStatusChanged?: (rating: number, conversationId?: string) => void;
|
|
726
727
|
/**
|
|
727
728
|
* Состояние сети участников
|
|
728
729
|
*
|
|
@@ -731,7 +732,7 @@ export type ParamsObject = {
|
|
|
731
732
|
onNetworkStatusChanged?: (status: {
|
|
732
733
|
uid: ExternalParticipantId;
|
|
733
734
|
rating: number;
|
|
734
|
-
}[]) => void;
|
|
735
|
+
}[], conversationId?: string) => void;
|
|
735
736
|
/**
|
|
736
737
|
* Получено отладочное сообщение. Работает только при выключенном режиме отладки
|
|
737
738
|
*/
|
|
@@ -739,11 +740,11 @@ export type ParamsObject = {
|
|
|
739
740
|
/**
|
|
740
741
|
* Статистика звонка
|
|
741
742
|
*/
|
|
742
|
-
onStatistics?: (stats: {}) => void;
|
|
743
|
+
onStatistics?: (stats: {}, conversationId?: string) => void;
|
|
743
744
|
/**
|
|
744
745
|
* Ошибка воспроизведения звука
|
|
745
746
|
*/
|
|
746
|
-
onAutoplayError?: () => void;
|
|
747
|
+
onAutoplayError?: (conversationId?: string) => void;
|
|
747
748
|
/**
|
|
748
749
|
* Изменилось состояние зала ожидания/зала в режиме Audience
|
|
749
750
|
*
|
|
@@ -753,74 +754,74 @@ export type ParamsObject = {
|
|
|
753
754
|
* @param addedParticipantIds Некоторое количество участников, добавленных в зал
|
|
754
755
|
* @param removedParticipantIds Некоторое количество участников, убранных из зала
|
|
755
756
|
*/
|
|
756
|
-
onChatRoomUpdated?: (eventType: ChatRoomEventType, totalCount: number, firstParticipants: ExternalId[], addedParticipantIds: ExternalId[], removedParticipantIds: ExternalId[]) => void;
|
|
757
|
+
onChatRoomUpdated?: (eventType: ChatRoomEventType, totalCount: number, firstParticipants: ExternalId[], addedParticipantIds: ExternalId[], removedParticipantIds: ExternalId[], conversationId?: string) => void;
|
|
757
758
|
/**
|
|
758
759
|
* Получен микшированный аудио стрим.
|
|
759
760
|
* @hidden
|
|
760
761
|
* @param stream стрим от WebRTC
|
|
761
762
|
*/
|
|
762
|
-
onRemoteMixedAudioStream?: (stream: MediaStream) => void;
|
|
763
|
+
onRemoteMixedAudioStream?: (stream: MediaStream, conversationId?: string) => void;
|
|
763
764
|
/**
|
|
764
765
|
* Получена новая ссылка на звонок
|
|
765
766
|
* @param joinLink токен присоединения к звонку
|
|
766
767
|
*/
|
|
767
|
-
onJoinLinkChanged?: (joinLink: string) => void;
|
|
768
|
+
onJoinLinkChanged?: (joinLink: string, conversationId?: string) => void;
|
|
768
769
|
/**
|
|
769
770
|
* Получено обновление списка сессионных залов
|
|
770
771
|
* @param updates список обновлений по залам
|
|
771
772
|
*/
|
|
772
|
-
onRoomsUpdated?: (updates: Partial<Record<RoomsEventType, RoomsUpdate
|
|
773
|
+
onRoomsUpdated?: (updates: Partial<Record<RoomsEventType, RoomsUpdate>>, conversationId?: string) => void;
|
|
773
774
|
/**
|
|
774
775
|
* Получено обновление сессионных зало
|
|
775
776
|
* @param eventTypes список событий
|
|
776
777
|
* @param roomId номер сессионного зала
|
|
777
778
|
* @param room сессионный зал
|
|
778
779
|
*/
|
|
779
|
-
onRoomUpdated?: (eventTypes: RoomsEventType[], roomId: number, room: Room | null, deactivate: boolean | null) => void;
|
|
780
|
+
onRoomUpdated?: (eventTypes: RoomsEventType[], roomId: number, room: Room | null, deactivate: boolean | null, conversationId?: string) => void;
|
|
780
781
|
/**
|
|
781
782
|
* Получение обновление списка участников в сессионном зале
|
|
782
783
|
* @param update обновление списка участников
|
|
783
784
|
*/
|
|
784
|
-
onRoomParticipantsUpdated?: (update: RoomParticipantUpdate) => void;
|
|
785
|
+
onRoomParticipantsUpdated?: (update: RoomParticipantUpdate, conversationId?: string) => void;
|
|
785
786
|
/**
|
|
786
787
|
* Получение информации о смене зала
|
|
787
788
|
* @param roomId номер сессионного зала
|
|
788
789
|
*/
|
|
789
|
-
onRoomSwitched?: (roomId: number | null) => void;
|
|
790
|
+
onRoomSwitched?: (roomId: number | null, conversationId?: string) => void;
|
|
790
791
|
/**
|
|
791
792
|
* Установить id сессионного зала на старте звонка
|
|
792
793
|
* @param roomId номер сессионного зала
|
|
793
794
|
*/
|
|
794
|
-
onRoomStart?: (roomId: number | null) => void;
|
|
795
|
+
onRoomStart?: (roomId: number | null, conversationId?: string) => void;
|
|
795
796
|
/**
|
|
796
797
|
* Получены новые реакции в звонке
|
|
797
798
|
* @param feedback массив с реакциями
|
|
798
799
|
*/
|
|
799
|
-
onFeedback?: (feedback: IFeedbackExternal[], roomId: number | null) => void;
|
|
800
|
+
onFeedback?: (feedback: IFeedbackExternal[], roomId: number | null, conversationId?: string) => void;
|
|
800
801
|
/**
|
|
801
802
|
* Изменился список ролей, которым доступны ConversationFeatures
|
|
802
803
|
*
|
|
803
804
|
* @param featuresPerRole Объект вида ключ: ConversationFeature = значение: UserRole[]
|
|
804
805
|
* (если ключ фичи отсутствует, или в ролях пустой массив, считаем фичу доступной для всех пользователей)
|
|
805
806
|
*/
|
|
806
|
-
onFeaturesPerRoleChanged?: (featuresPerRole: IFeaturesPerRole) => void;
|
|
807
|
+
onFeaturesPerRoleChanged?: (featuresPerRole: IFeaturesPerRole, conversationId?: string) => void;
|
|
807
808
|
/**
|
|
808
809
|
* Изменился Vmoji-аватар пользователя
|
|
809
810
|
* @param externalId Id пользователя, у которого изменился аватар
|
|
810
811
|
*/
|
|
811
|
-
onParticipantVmojiUpdate?: (externalId: ExternalParticipantId) => void;
|
|
812
|
+
onParticipantVmojiUpdate?: (externalId: ExternalParticipantId, conversationId?: string) => void;
|
|
812
813
|
/**
|
|
813
814
|
* Начата текстовая расшифровка звонка
|
|
814
815
|
* @param initiatorId Id пользователя, запустившего расшифровку звонка
|
|
815
816
|
* @param movieId Id расшифровки
|
|
816
817
|
* @param roomId Id комнаты
|
|
817
818
|
*/
|
|
818
|
-
onAsrStarted?: (initiatorId: ExternalParticipantId, movieId: number, roomId: number | null) => void;
|
|
819
|
+
onAsrStarted?: (initiatorId: ExternalParticipantId, movieId: number, roomId: number | null, conversationId?: string) => void;
|
|
819
820
|
/**
|
|
820
821
|
* Закончена текстовая расшифровка звонка
|
|
821
822
|
* @param roomId Id комнаты
|
|
822
823
|
*/
|
|
823
|
-
onAsrStopped?: (roomId: number | null) => void;
|
|
824
|
+
onAsrStopped?: (roomId: number | null, conversationId?: string) => void;
|
|
824
825
|
/**
|
|
825
826
|
* Получена расшифровка речи
|
|
826
827
|
* @param id Id пользователя, произнесшего реплику
|
|
@@ -828,47 +829,53 @@ export type ParamsObject = {
|
|
|
828
829
|
* @param timestamp Время расшифровки
|
|
829
830
|
* @param duration Длительность реплики в расшифровке
|
|
830
831
|
*/
|
|
831
|
-
onAsrTranscription?: (id: ExternalParticipantId, text: string, timestamp: number, duration: number) => void;
|
|
832
|
+
onAsrTranscription?: (id: ExternalParticipantId, text: string, timestamp: number, duration: number, conversationId?: string) => void;
|
|
832
833
|
/**
|
|
833
834
|
* Установка начальных параметров текстовой расшифровки звонка. (Используется при входе в звонок/ смене комнаты)
|
|
834
835
|
* @param data Начальная информация по ASR
|
|
835
836
|
* @param roomId Id Комнаты
|
|
836
837
|
*/
|
|
837
|
-
onAsrSet?: (data: IAsrData | null, roomId: number | null) => void;
|
|
838
|
+
onAsrSet?: (data: IAsrData | null, roomId: number | null, conversationId?: string) => void;
|
|
838
839
|
/**
|
|
839
840
|
* Админ начал/остановил совместное использование стороннего web-приложения
|
|
840
841
|
* @param userId id участника-админа
|
|
841
842
|
* @param sharedUrl url страницы
|
|
842
843
|
*/
|
|
843
|
-
onRemoteSharedUrl?: (userId: ExternalParticipantId, sharedUrl: string | undefined, roomId: IRoomId) => void;
|
|
844
|
+
onRemoteSharedUrl?: (userId: ExternalParticipantId, sharedUrl: string | undefined, roomId: IRoomId, conversationId?: string) => void;
|
|
844
845
|
/**
|
|
845
846
|
* Изменился id участника (деанонимизация)
|
|
846
847
|
* @param prevId
|
|
847
848
|
* @param newId
|
|
848
849
|
*/
|
|
849
|
-
onParticipantIdChanged?: (prevId: ExternalParticipantId, newId: ExternalParticipantId) => void;
|
|
850
|
+
onParticipantIdChanged?: (prevId: ExternalParticipantId, newId: ExternalParticipantId, conversationId?: string) => void;
|
|
850
851
|
/**
|
|
851
852
|
* Предложение включить режим автоматического отключения приёма видео
|
|
852
853
|
* в плохой сети
|
|
853
854
|
* @param bandwidth текущая полоса пропускания, kbps
|
|
854
855
|
*/
|
|
855
|
-
onVideoSuspendSuggest?: (bandwidth: number) => void;
|
|
856
|
+
onVideoSuspendSuggest?: (bandwidth: number, conversationId?: string) => void;
|
|
856
857
|
/**
|
|
857
858
|
* Одобрено повышение пользователя в зале ожидания/зале в режиме Audience
|
|
858
859
|
*
|
|
859
860
|
* @param adminParticipantId админ, одобривший повышение
|
|
860
861
|
*/
|
|
861
|
-
onPromotionApproved?: (adminParticipantId: ExternalParticipantId) => void;
|
|
862
|
+
onPromotionApproved?: (adminParticipantId: ExternalParticipantId, conversationId?: string) => void;
|
|
862
863
|
/**
|
|
863
864
|
* Участник повышен/разжалован в зале ожидания/зале в режиме Audience
|
|
864
865
|
*
|
|
865
866
|
* @param demoted участник разжалован
|
|
866
867
|
*/
|
|
867
|
-
onPromoted?: (demoted: boolean) => void;
|
|
868
|
+
onPromoted?: (demoted: boolean, conversationId?: string) => void;
|
|
869
|
+
/**
|
|
870
|
+
* Активным установлен определенный звонок
|
|
871
|
+
*
|
|
872
|
+
* @param conversationId ID звонка
|
|
873
|
+
*/
|
|
874
|
+
onCallActive?: (conversationId: string) => void;
|
|
868
875
|
/**
|
|
869
876
|
* Собеседник подключился к сигналлингу
|
|
870
877
|
*/
|
|
871
|
-
onPeerRegistered?: () => void;
|
|
878
|
+
onPeerRegistered?: (conversationId?: string) => void;
|
|
872
879
|
};
|
|
873
880
|
export default abstract class Params {
|
|
874
881
|
private static _params;
|
|
@@ -969,7 +976,6 @@ export default abstract class Params {
|
|
|
969
976
|
static get audioNack(): boolean;
|
|
970
977
|
static get movieShare(): boolean;
|
|
971
978
|
static get videoTracksCount(): number;
|
|
972
|
-
static get requestDisplayLayoutThrottleMs(): number;
|
|
973
979
|
static get breakVideoPayloadTypes(): boolean;
|
|
974
980
|
static get useCallsToContacts(): boolean;
|
|
975
981
|
static get useParticipantListChunk(): boolean;
|
|
@@ -978,6 +984,7 @@ export default abstract class Params {
|
|
|
978
984
|
static get addParticipant(): boolean;
|
|
979
985
|
static get waitForAdminInGroupCalls(): boolean;
|
|
980
986
|
static get hold(): boolean;
|
|
987
|
+
static get maxParallelCalls(): number;
|
|
981
988
|
static get participantListChunkInitIndex(): number;
|
|
982
989
|
static get participantListChunkInitCount(): number | null;
|
|
983
990
|
static get filterObservers(): boolean;
|
|
@@ -1017,7 +1024,6 @@ export default abstract class Params {
|
|
|
1017
1024
|
screenShareCongestionControl: boolean;
|
|
1018
1025
|
screenShareCongestionControlThreshold: number;
|
|
1019
1026
|
videoTracksCount: number;
|
|
1020
|
-
requestDisplayLayoutThrottleMs: number;
|
|
1021
1027
|
asrDataChannel: boolean;
|
|
1022
1028
|
videoMaxHeight: number;
|
|
1023
1029
|
videoMaxWidth: number;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type TCapabilities = {
|
|
2
|
+
estimatedPerformanceIndex: number;
|
|
3
|
+
audioMix: boolean;
|
|
4
|
+
consumerUpdate: boolean;
|
|
5
|
+
producerNotificationDataChannelVersion: number;
|
|
6
|
+
producerCommandDataChannelVersion: number;
|
|
7
|
+
consumerScreenDataChannelVersion: number;
|
|
8
|
+
producerScreenDataChannelVersion: number;
|
|
9
|
+
asrDataChannelVersion: number;
|
|
10
|
+
animojiDataChannelVersion: number;
|
|
11
|
+
animojiBackendRender: boolean;
|
|
12
|
+
onDemandTracks: boolean;
|
|
13
|
+
unifiedPlan: boolean;
|
|
14
|
+
singleSession: boolean;
|
|
15
|
+
videoTracksCount: number;
|
|
16
|
+
red: boolean;
|
|
17
|
+
audioShare: boolean;
|
|
18
|
+
fastScreenShare: boolean;
|
|
19
|
+
videoSuspend: boolean;
|
|
20
|
+
simulcast: boolean;
|
|
21
|
+
consumerFastScreenShare: boolean;
|
|
22
|
+
consumerFastScreenShareQualityOnDemand: boolean;
|
|
23
|
+
transparentAudio: boolean;
|
|
24
|
+
};
|
|
@@ -54,37 +54,4 @@ export type ParticipantLayout = (Layout | StopStream | RequestKeyFrame) & {
|
|
|
54
54
|
*/
|
|
55
55
|
streamName?: string;
|
|
56
56
|
};
|
|
57
|
-
/**
|
|
58
|
-
* Запрос стрима, который клиент хочет получать для отображения.
|
|
59
|
-
*/
|
|
60
|
-
export type DisplayLayoutRequest = {
|
|
61
|
-
/**
|
|
62
|
-
* Внешний ID пользователя
|
|
63
|
-
*/
|
|
64
|
-
uid: ExternalParticipantId | string;
|
|
65
|
-
/**
|
|
66
|
-
* Тип медиа (видео с камеры, картинка с экрана, лайв или мувик)
|
|
67
|
-
*/
|
|
68
|
-
mediaType: MediaType;
|
|
69
|
-
/**
|
|
70
|
-
* Ширина окошка в котором отображается видео, в пикселях
|
|
71
|
-
*/
|
|
72
|
-
width: number;
|
|
73
|
-
/**
|
|
74
|
-
* Высота окошка в котором отображается видео, в пикселях
|
|
75
|
-
*/
|
|
76
|
-
height: number;
|
|
77
|
-
/**
|
|
78
|
-
* Отображать видео как CSS object-fit: cover. По умолчанию используется contain.
|
|
79
|
-
*/
|
|
80
|
-
cover?: boolean;
|
|
81
|
-
/**
|
|
82
|
-
* Приоритет
|
|
83
|
-
*/
|
|
84
|
-
priority?: number;
|
|
85
|
-
/**
|
|
86
|
-
* ID лайва или мувика. null для камеры или скрин-шары.
|
|
87
|
-
*/
|
|
88
|
-
streamName?: string;
|
|
89
|
-
};
|
|
90
57
|
export default ParticipantLayout;
|
|
@@ -366,6 +366,9 @@ declare namespace SignalingMessage {
|
|
|
366
366
|
export interface Connection extends Notification {
|
|
367
367
|
endpoint: string;
|
|
368
368
|
conversation: Conversation;
|
|
369
|
+
conversationParams: {
|
|
370
|
+
serverTime: number;
|
|
371
|
+
};
|
|
369
372
|
isConcurrent: boolean;
|
|
370
373
|
peerId: PeerId;
|
|
371
374
|
mediaModifiers: MediaModifiers;
|
|
@@ -452,6 +455,10 @@ declare namespace SignalingMessage {
|
|
|
452
455
|
export interface VideoSuspendSuggest extends Notification {
|
|
453
456
|
bandwidth: number;
|
|
454
457
|
}
|
|
458
|
+
export interface Hold extends Notification {
|
|
459
|
+
participantId: ParticipantId;
|
|
460
|
+
hold: boolean;
|
|
461
|
+
}
|
|
455
462
|
export {};
|
|
456
463
|
}
|
|
457
464
|
export default SignalingMessage;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import BaseApi from '../abstract/BaseApi';
|
|
2
|
-
import { DisplayLayoutRequest, ParticipantLayout } from '../types/ParticipantLayout';
|
|
3
|
-
import { Participant, ParticipantId } from '../types/Participant';
|
|
4
|
-
type DisplayLayoutRequesterParams = {
|
|
5
|
-
api: BaseApi;
|
|
6
|
-
getParticipants: () => Promise<Record<ParticipantId, Participant>>;
|
|
7
|
-
isMe: (participantId: ParticipantId) => boolean;
|
|
8
|
-
updateDisplayLayout: (layouts: ParticipantLayout[]) => Promise<void>;
|
|
9
|
-
};
|
|
10
|
-
export default class DisplayLayoutRequester {
|
|
11
|
-
private readonly _api;
|
|
12
|
-
private readonly _getParticipants;
|
|
13
|
-
private readonly _isMe;
|
|
14
|
-
private readonly _updateDisplayLayout;
|
|
15
|
-
private _requestedLayouts;
|
|
16
|
-
private _pendingRequests;
|
|
17
|
-
private _pendingPromises;
|
|
18
|
-
private _timer;
|
|
19
|
-
private _inFlight;
|
|
20
|
-
private _lastFlushAt;
|
|
21
|
-
private _generation;
|
|
22
|
-
constructor({ api, getParticipants, isMe, updateDisplayLayout }: DisplayLayoutRequesterParams);
|
|
23
|
-
request(requests: DisplayLayoutRequest[]): Promise<void>;
|
|
24
|
-
cleanupParticipant(participantId: ParticipantId): void;
|
|
25
|
-
clear(): void;
|
|
26
|
-
private _schedule;
|
|
27
|
-
private _flush;
|
|
28
|
-
private _getRequestLayouts;
|
|
29
|
-
private _getDiff;
|
|
30
|
-
private _isChanged;
|
|
31
|
-
}
|
|
32
|
-
export {};
|