@vkontakte/calls-sdk 2.8.8-dev.4e225733.0 → 2.8.8-dev.85e3e73d.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;
@@ -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;
@@ -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;
@@ -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;
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.85e3e73d.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
  * Параметры инициализации
@@ -359,6 +360,10 @@ export type ParamsObject = {
359
360
  * _По умолчанию: `false`_
360
361
  */
361
362
  useChatRooms: boolean;
363
+ /**
364
+ * Включить поддержку добавления участника в разговор
365
+ */
366
+ addParticipant: boolean;
362
367
  /**
363
368
  * Индекс участника для первого chunk'а который придет при установке соединения с сервером
364
369
  *
@@ -704,7 +709,7 @@ export type ParamsObject = {
704
709
  /**
705
710
  * Звонок был завершен
706
711
  */
707
- onHangup?: (type: HangupReason, conversationId: string | null) => void;
712
+ onHangup?: (type: HangupReason | Error, conversationId: string | null) => void;
708
713
  /**
709
714
  * Входящий звонок был принят мной
710
715
  */
@@ -713,7 +718,7 @@ export type ParamsObject = {
713
718
  * Исходящий звонок был принят кем-то
714
719
  * @param userId
715
720
  */
716
- onAcceptedCall?: (userId: ExternalParticipantId) => void;
721
+ onAcceptedCall?: (userId: ExternalParticipantId, capabilities: ParticipantCapabilities) => void;
717
722
  /**
718
723
  * Список устройств изменился
719
724
  */
@@ -1004,6 +1009,7 @@ export default abstract class Params {
1004
1009
  static get useParticipantListChunk(): boolean;
1005
1010
  static get useRooms(): boolean;
1006
1011
  static get useChatRooms(): boolean;
1012
+ static get addParticipant(): boolean;
1007
1013
  static get participantListChunkInitIndex(): number;
1008
1014
  static get participantListChunkInitCount(): number | null;
1009
1015
  static get serverAudioRed(): boolean;
@@ -1044,6 +1050,7 @@ export default abstract class Params {
1044
1050
  useParticipantListChunk: boolean;
1045
1051
  useRooms: boolean;
1046
1052
  useChatRooms: boolean;
1053
+ addParticipant: boolean;
1047
1054
  fastScreenShare: boolean;
1048
1055
  participantListChunkInitCount: number | null;
1049
1056
  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 {};
@@ -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;