@vkontakte/calls-sdk 2.8.8-dev.4e225733.0 → 2.8.8-dev.52b6ccd7.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.
@@ -204,6 +204,10 @@ export default class Conversation extends EventEmitter {
204
204
  sendClientEvent(eventType: string, eventData?: Record<string, string | number | boolean>, immediately?: boolean): void;
205
205
  private _changeMediaSettings;
206
206
  private _stopStreaming;
207
+ /**
208
+ * @param layoutByStreamDescription
209
+ * @param throwErrorOutside false используется при внутреннем обращении, когда обработка ошибки не нужна
210
+ */
207
211
  private _sendUpdateDisplayLayout;
208
212
  private _cleanupCooldownQueue;
209
213
  private _onParticipantSourcesUpdate;
@@ -288,6 +292,7 @@ export default class Conversation extends EventEmitter {
288
292
  private _onLocalMediaStreamChanged;
289
293
  private _onScreenSharingStatus;
290
294
  private _changeRemoteMediaSettings;
295
+ private _extractLocalParticipantFromConnection;
291
296
  private _changeLocalParticipantState;
292
297
  private _changeRemoteParticipantState;
293
298
  private _changeMultipleParticipantState;
@@ -0,0 +1 @@
1
+ export {};
@@ -7,6 +7,7 @@ export declare class VolumesDetector extends EventEmitter {
7
7
  private _detector;
8
8
  private _interval;
9
9
  private _activeParticipants;
10
+ private _removedParticipants;
10
11
  constructor(transport: Transport);
11
12
  destroy(): void;
12
13
  private _onRemoteTrackAdded;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -56,7 +56,6 @@ export default class Signaling extends BaseSignaling {
56
56
  private static get WAIT_CONNECTION_DELAY();
57
57
  private static get WAIT_RESPONSE_DELAY();
58
58
  private static get WAIT_MESSAGE_DELAY();
59
- private static _getCapabilityFlags;
60
59
  get ready(): boolean;
61
60
  setEndpoint(endpoint: string): void;
62
61
  setWebTransportEndpoint(endpoint: string | null): void;
@@ -184,6 +183,9 @@ export default class Signaling extends BaseSignaling {
184
183
  private _convertDisplayLayout;
185
184
  protected _waitConnectionMessage(): void;
186
185
  protected _stopWaitConnectionMessage(): void;
186
+ /**
187
+ * Отвечает за timeout логику в WebSocket, если неполучаем никаких сообщений в течении WAIT_MESSAGE_DELAY, то запускаем реконнект
188
+ */
187
189
  private _startDoctor;
188
190
  private _stopDoctor;
189
191
  private isWebTransportAvailable;
@@ -0,0 +1 @@
1
+ export {};
@@ -2,21 +2,85 @@
2
2
  * Типы ошибок
3
3
  */
4
4
  declare enum FatalError {
5
+ /**
6
+ * Ошибка комбинированных разрешений на микрофон и камеру
7
+ * Выбрасывается при отсутствии разрешений на оба устройства одновременно
8
+ */
5
9
  MIC_CAMERA_PERMISSION = "mic_camera",
10
+ /**
11
+ * Отсутствуют разрешения на доступ к камере
12
+ * Выбрасывается при отказе пользователя в доступе к камере или системном запрете
13
+ */
6
14
  CAMERA_PERMISSION = "camera",
15
+ /**
16
+ * Отсутствуют разрешения на доступ к микрофону
17
+ * Выбрасывается при отказе пользователя в доступе к микрофону или системном запрете
18
+ */
7
19
  MIC_PERMISSION = "mic",
20
+ /**
21
+ * Камера заблокирована другим приложением
22
+ * Выбрасывается когда камера уже используется другим приложением
23
+ */
8
24
  CAMERA_ACCESS = "cameralock",
25
+ /**
26
+ * Микрофон заблокирован другим приложением
27
+ * Выбрасывается когда микрофон уже используется другим приложением
28
+ */
9
29
  MIC_ACCESS = "miclock",
30
+ /**
31
+ * Микрофон не найден
32
+ * Выбрасывается когда система не может найти доступный микрофон
33
+ */
10
34
  MIC_NOT_FOUND = "nomic",
35
+ /**
36
+ * Отсутствуют разрешения на доступ к экрану
37
+ * Выбрасывается при отказе пользователя в доступе к скриншарингу
38
+ */
11
39
  SCREEN_PERMISSION = "screenpermission",
40
+ /**
41
+ * Общий сбой доступа к экрану
42
+ * Выбрасывается при общих ошибках скриншаринга, кроме отказа в разрешении
43
+ */
12
44
  SCREEN_ACCESS = "screenlock",
45
+ /**
46
+ * Ошибка соединения
47
+ * Выбрасывается при проблемах с сетевым соединением
48
+ */
13
49
  CONNECTION = "connection",
50
+ /**
51
+ * Сетевая ошибка
52
+ * Выбрасывается при сетевых проблемах во время вызова
53
+ */
14
54
  NETWORK = "network",
55
+ /**
56
+ * Неизвестная ошибка
57
+ * Выбрасывается как fallback для непредвиденных ошибок
58
+ */
15
59
  UNKNOWN = "unknown",
60
+ /**
61
+ * Браузер или окружение не поддерживаются
62
+ * Выбрасывается при запуске в неподдерживаемом браузере или окружении
63
+ */
16
64
  UNSUPPORTED = "unsupported",
65
+ /**
66
+ * Сбой сигнализации (signaling)
67
+ * Выбрасывается при ошибках соединения с сервером сигнализации
68
+ */
17
69
  SIGNALING_FAILED = "signalingfailed",
70
+ /**
71
+ * Ошибка API или отсутствует ключ API
72
+ * Выбрасывается при ошибках вызова API или отсутствии API ключа
73
+ */
18
74
  API = "api",
75
+ /**
76
+ * Ошибка аутентификации
77
+ * Выбрасывается при ошибках аутентификации API
78
+ */
19
79
  AUTH = "auth",
80
+ /**
81
+ * Медиа-ограничения слишком строгие
82
+ * Выбрасывается когда запрошенные параметры медиа не могут быть удовлетворены
83
+ */
20
84
  OVERCONSTRAINED = "overconstrained"
21
85
  }
22
86
  export default FatalError;
@@ -21,6 +21,7 @@ declare enum HangupType {
21
21
  UNSUPPORTED = "UNSUPPORTED",
22
22
  OLD_VERSION = "OLD_VERSION",
23
23
  SERVICE_DISABLED = "SERVICE_DISABLED",
24
+ SERVICE_UNAVAILABLE = "SERVICE_UNAVAILABLE",
24
25
  EXTERNAL_API_ERROR = "EXTERNAL_API_ERROR",
25
26
  SOCKET_CLOSED = "SOCKET_CLOSED",
26
27
  ENDED = "ENDED",
@@ -29,6 +30,10 @@ declare enum HangupType {
29
30
  NOT_FOUND = "NOT_FOUND",
30
31
  VCHAT_DETAILED_ERROR = "VCHAT_DETAILED_ERROR",
31
32
  TIMEOUT = "TIMEOUT",
33
+ /**
34
+ * Проблемы при работе через FastStart
35
+ */
36
+ FAST_START_ERROR = "FAST_START_ERROR",
32
37
  /**
33
38
  * Таймаут инициализации вызова – звонок не начался
34
39
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vkontakte/calls-sdk",
3
- "version": "2.8.8-dev.4e225733.0",
3
+ "version": "2.8.8-dev.52b6ccd7.0",
4
4
  "author": "vk.com",
5
5
  "description": "Library for video calls based on the vk.com platform",
6
6
  "homepage": "https://vk.com",
@@ -22,6 +22,7 @@ import { IRoomId, Room, RoomParticipantUpdate, Rooms, RoomsUpdate } from '../typ
22
22
  import { VmojiError } from '../types/Vmoji';
23
23
  import { DebugMessageType } from './Debug';
24
24
  import { JSONObject } from './Json';
25
+ import { ParticipantCapabilities } from './SignalingCapabilities';
25
26
  /**
26
27
  * Статус собеседника
27
28
  */
@@ -342,8 +343,9 @@ declare namespace External {
342
343
  /**
343
344
  * Исходящий звонок был принят кем-то
344
345
  * @param userId
346
+ * @param capabilities
345
347
  */
346
- function onAcceptedCall(userId: ExternalId): void;
348
+ function onAcceptedCall(userId: ExternalId, capabilities: ParticipantCapabilities): void;
347
349
  function onRateNeeded(): void;
348
350
  /**
349
351
  * Изменился говорящий в звонке
@@ -27,6 +27,7 @@ import { VmojiError } from '../types/Vmoji';
27
27
  import { DebugMessageType } from './Debug';
28
28
  import { ParticipantStatus } from './External';
29
29
  import { JSONObject } from './Json';
30
+ import { ParticipantCapabilities } from './SignalingCapabilities';
30
31
  import { FacingMode } from './WebRTCUtils';
31
32
  /**
32
33
  * Параметры инициализации
@@ -103,6 +104,12 @@ export type ParamsObject = {
103
104
  debugLog: boolean;
104
105
  /** @hidden */
105
106
  debug: boolean;
107
+ /**
108
+ * Выставляет таймаут в ms для fetch запросов от sdk
109
+ * По умолчанию 5000 ms
110
+ * @hidden
111
+ */
112
+ apiTimeout: number;
106
113
  /**
107
114
  * Не отправлять в ICE-кандидатах персональные IP-адреса
108
115
  * @see [RTCIceTransportPolicy](https://www.w3.org/TR/webrtc/#rtcicetransportpolicy-enum)
@@ -359,6 +366,10 @@ export type ParamsObject = {
359
366
  * _По умолчанию: `false`_
360
367
  */
361
368
  useChatRooms: boolean;
369
+ /**
370
+ * Включить поддержку добавления участника в разговор
371
+ */
372
+ addParticipant: boolean;
362
373
  /**
363
374
  * Индекс участника для первого chunk'а который придет при установке соединения с сервером
364
375
  *
@@ -704,7 +715,7 @@ export type ParamsObject = {
704
715
  /**
705
716
  * Звонок был завершен
706
717
  */
707
- onHangup?: (type: HangupReason, conversationId: string | null) => void;
718
+ onHangup?: (type: HangupReason | Error, conversationId: string | null) => void;
708
719
  /**
709
720
  * Входящий звонок был принят мной
710
721
  */
@@ -713,7 +724,7 @@ export type ParamsObject = {
713
724
  * Исходящий звонок был принят кем-то
714
725
  * @param userId
715
726
  */
716
- onAcceptedCall?: (userId: ExternalParticipantId) => void;
727
+ onAcceptedCall?: (userId: ExternalParticipantId, capabilities: ParticipantCapabilities) => void;
717
728
  /**
718
729
  * Список устройств изменился
719
730
  */
@@ -921,6 +932,7 @@ export default abstract class Params {
921
932
  static get apiBaseUrl(): IAPIBaseUrl;
922
933
  static set apiBaseUrl(apiBaseUrl: IAPIBaseUrl);
923
934
  static apiEndpoint(apiEnv?: IApiEnv): string;
935
+ static get apiTimeout(): number;
924
936
  static get authToken(): string;
925
937
  static set authToken(value: string);
926
938
  static get anonymToken(): string;
@@ -1004,6 +1016,7 @@ export default abstract class Params {
1004
1016
  static get useParticipantListChunk(): boolean;
1005
1017
  static get useRooms(): boolean;
1006
1018
  static get useChatRooms(): boolean;
1019
+ static get addParticipant(): boolean;
1007
1020
  static get participantListChunkInitIndex(): number;
1008
1021
  static get participantListChunkInitCount(): number | null;
1009
1022
  static get serverAudioRed(): boolean;
@@ -1044,6 +1057,7 @@ export default abstract class Params {
1044
1057
  useParticipantListChunk: boolean;
1045
1058
  useRooms: boolean;
1046
1059
  useChatRooms: boolean;
1060
+ addParticipant: boolean;
1047
1061
  fastScreenShare: boolean;
1048
1062
  participantListChunkInitCount: number | null;
1049
1063
  screenShareCongestionControl: boolean;
@@ -0,0 +1,24 @@
1
+ declare const PREDICATES: {
2
+ readonly producerScreenTrack: () => boolean;
3
+ readonly videoTracksCount: () => boolean;
4
+ readonly waitingHall: () => boolean;
5
+ readonly filteredMessages: () => boolean;
6
+ readonly consumerScreenTrack: () => boolean;
7
+ readonly muteNotificationForAdmins: () => boolean;
8
+ readonly movieShare: () => boolean;
9
+ readonly useParticipantListChunk: () => boolean;
10
+ readonly useRooms: () => boolean;
11
+ readonly vmoji: () => boolean;
12
+ readonly useCallsToContacts: () => boolean;
13
+ readonly useChatRooms: () => boolean;
14
+ readonly audienceModeHandUpTimestamps: () => boolean;
15
+ readonly animojiBackendRender: () => boolean;
16
+ readonly addParticipant: () => boolean;
17
+ };
18
+ type ParticipantCapabilitiesKeys = keyof typeof PREDICATES;
19
+ export type ParticipantCapabilities = Record<ParticipantCapabilitiesKeys, boolean>;
20
+ export declare class SignalingCapabilities {
21
+ static getFlags(): string;
22
+ static parseCapabilities(mask?: string): ParticipantCapabilities;
23
+ }
24
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -1,4 +1,4 @@
1
- import { HangupType, IceServer } from '../CallsSDK';
1
+ import { IceServer } from '../CallsSDK';
2
2
  import CallType from '../enums/CallType';
3
3
  import MediaOption from '../enums/MediaOption';
4
4
  import { ExternalId } from './ExternalId';
@@ -37,10 +37,10 @@ export interface FastStartParams {
37
37
  isVideo?: boolean;
38
38
  }
39
39
  export interface FastStartResponse {
40
- internalCallerParams: string;
40
+ internalCallerParams?: string;
41
41
  rejectedParticipants: {
42
42
  id: string;
43
- status: HangupType;
43
+ status: string;
44
44
  }[];
45
45
  }
46
46
  export type FastStartHandler = (params: FastStartParams) => Promise<FastStartResponse>;
@@ -182,6 +182,7 @@ declare namespace SignalingMessage {
182
182
  deviceIdx?: number;
183
183
  peerId: PeerId;
184
184
  mediaSettings: Partial<MediaSettings>;
185
+ capabilities?: string;
185
186
  }
186
187
  export interface Hungup extends Notification {
187
188
  participantId: OkUserId;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};