podchat-browser 12.9.17-snapshot.9 → 12.9.17

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.
Files changed (61) hide show
  1. package/changelog.md +43 -0
  2. package/dist/node/buildConfig.json +1 -1
  3. package/dist/node/call.module.js +208 -47
  4. package/dist/node/chat.js +341 -136
  5. package/dist/node/lib/call/callManager.js +302 -95
  6. package/dist/node/lib/call/callTopicManager.js +5 -8
  7. package/dist/node/lib/call/callUsers.js +3 -0
  8. package/dist/node/lib/call/callsList.js +3 -1
  9. package/dist/node/lib/call/deviceManager.js +13 -1
  10. package/dist/node/lib/call/multitrack/callManager.js +1168 -840
  11. package/dist/node/lib/call/multitrack/callUser.js +116 -10
  12. package/dist/node/lib/call/multitrack/callUsers.js +12 -0
  13. package/dist/node/lib/call/multitrack/midManager.js +211 -0
  14. package/dist/node/lib/call/multitrack/peerConnectionManager.js +377 -251
  15. package/dist/node/lib/call/multitrack/webrtcPeer.js +75 -46
  16. package/dist/node/lib/call/sharedData.js +25 -3
  17. package/dist/node/lib/chat/contacts/contactsV2.js +49 -8
  18. package/dist/node/lib/chat/threadHistoryMethods.js +12 -7
  19. package/dist/node/lib/chat/threadMethods.js +42 -34
  20. package/dist/node/lib/constants.js +2 -0
  21. package/dist/node/lib/errorHandler.js +32 -4
  22. package/dist/node/lib/files/podspaceMethods.js +546 -8
  23. package/dist/node/lib/helpers/httpRequest.js +9 -2
  24. package/dist/node/lib/store/history/historyItem.js +58 -21
  25. package/dist/node/lib/store/history/index.js +2 -2
  26. package/dist/node/lib/store/index.js +10 -1
  27. package/dist/node/lib/store/messageExecutorQueue.js +82 -0
  28. package/dist/node/lib/store/threads/thread.js +50 -4
  29. package/dist/node/lib/store/usersNotSeenDuration.js +82 -0
  30. package/dist/podchat-browser-bundle.js +4026 -1730
  31. package/examples/index.html +143 -8
  32. package/package.json +2 -2
  33. package/src/buildConfig.json +1 -1
  34. package/src/call.module.js +237 -41
  35. package/src/chat.js +324 -128
  36. package/src/lib/call/callManager.js +164 -9
  37. package/src/lib/call/callTopicManager.js +4 -9
  38. package/src/lib/call/callUsers.js +3 -0
  39. package/src/lib/call/callsList.js +4 -3
  40. package/src/lib/call/deviceManager.js +4 -1
  41. package/src/lib/call/multitrack/callManager.js +922 -644
  42. package/src/lib/call/multitrack/callUser.js +107 -8
  43. package/src/lib/call/multitrack/callUsers.js +11 -2
  44. package/src/lib/call/multitrack/midManager.js +61 -0
  45. package/src/lib/call/multitrack/peerConnectionManager.js +146 -50
  46. package/src/lib/call/multitrack/webrtcPeer.js +7 -7
  47. package/src/lib/call/sharedData.js +17 -3
  48. package/src/lib/chat/contacts/contactsV2.js +36 -5
  49. package/src/lib/chat/threadHistoryMethods.js +10 -8
  50. package/src/lib/chat/threadMethods.js +42 -34
  51. package/src/lib/constants.js +2 -0
  52. package/src/lib/errorHandler.js +33 -5
  53. package/src/lib/files/podspaceMethods.js +415 -7
  54. package/src/lib/helpers/httpRequest.js +9 -2
  55. package/src/lib/store/contactsList.js +0 -2
  56. package/src/lib/store/history/historyItem.js +49 -24
  57. package/src/lib/store/history/index.js +2 -2
  58. package/src/lib/store/index.js +8 -0
  59. package/src/lib/store/messageExecutorQueue.js +48 -0
  60. package/src/lib/store/threads/thread.js +32 -8
  61. package/src/lib/store/usersNotSeenDuration.js +49 -0
package/changelog.md CHANGED
@@ -5,6 +5,49 @@ to see complete list of changelog please visit [ChangeLog](http://gp.fanapsoft.i
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [12.9.17] 23-08-2025
9
+
10
+ ### Added
11
+
12
+ - Added optional in memory cache for getThreads
13
+ - Added optional in memory cache for getHistory
14
+ - Added cache for method getHistoryByMessageIdRange
15
+ - Added param archived to method getThreads
16
+ - Added new contact methods
17
+ - Integrated cache to new contacts api
18
+ - Added parameter forceConvert to method getImageFromPodspaceV2
19
+ - Added cache for NotSeenDuration
20
+ - Added method getUnreadMessagesCount
21
+ - Added method ExportThreadParticipants
22
+ - #call - Added call admin methods
23
+ - #call - Added additional raiseHand fields in server responses for better management of raiseHand state during the calls
24
+ - #call - Added errors for start/stop record
25
+ - #call - Fixed bug in error for method startScreenShare
26
+ - #call - Added default item for speaker in safari
27
+ - #call - Added possibility to access call streams instead of using tags
28
+ - #call - Added flag for stream change in call_divs
29
+ - #call - Added new CALL_CONNECTION_STATUS event for janus
30
+ - #call - Added event INQUIRY_CALL_RESULT in janus calls to fix ui with changes on user reconnects due to network problems
31
+ - #call - Added event YOU_DROPPED_FROM_CALL after reconnect
32
+
33
+ ### Changed
34
+
35
+ - Fixed thread_leave_participant problems
36
+ - #call - Changed mute functionality, close track on request (Before server response)
37
+ - #call - Changed endCall handling to close call on request (before server response
38
+ - #call - ReWrite janus calls reconnect functionality
39
+ - #call - Added video permission check before sending request to server
40
+ - #call - Modified leave_call to only fire event when callId is same as current active call id
41
+ - #call - Added error code for camera stop error
42
+
43
+ ### Fixed
44
+
45
+ - Fixed bug in event thread_leave_participant
46
+ - Fixed bug in canceling large files upload
47
+ - #call - Minor bugs in kurento calls
48
+ - #call - Fixed bug on call participant left
49
+ - #call - Prevent console error on method endCall
50
+
8
51
  ## [12.9.16] 07-01-2024
9
52
 
10
53
  ### Added
@@ -1 +1 @@
1
- {"version":"12.9.17-snapshot.9","date":"۱۴۰۳/۱۱/۲۹","VersionInfo":"Release: false, Snapshot: true, Is For Test: true"}
1
+ {"version":"12.9.17","date":"۱۴۰۴/۶/۱","VersionInfo":"Release: true, Snapshot: false, Is For Test: false"}
@@ -11,12 +11,12 @@ exports["default"] = void 0;
11
11
 
12
12
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
13
 
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
14
  var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
17
15
 
18
16
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
19
17
 
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
+
20
20
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
21
21
 
22
22
  var _constants = require("./lib/constants");
@@ -93,6 +93,8 @@ function ChatCall(app, params) {
93
93
  getHistoryCount: 25
94
94
  };
95
95
  app.call.sharedVariables.useInternalTurnAddress = !!(callOptions && callOptions.useInternalTurnAddress);
96
+ app.call.sharedVariables.useCustomTurnAddress = !!(callOptions && callOptions.useCustomTurnAddress);
97
+ app.call.sharedVariables.callTurnIp = callOptions && callOptions.callTurnIp ? callOptions.callTurnIp : "";
96
98
  app.call.sharedVariables.globalCallRequestTimeout = app.sdkParams.callRequestTimeout;
97
99
  app.call.sharedVariables.callDivId = callOptions && callOptions.hasOwnProperty('callDivId') && typeof callOptions.callDivId === 'string' ? callOptions.callDivId : 'call-div';
98
100
  app.call.sharedVariables.callAudioTagClassName = callOptions && callOptions.hasOwnProperty('callAudioTagClassName') && typeof callOptions.callAudioTagClassName === 'string' ? callOptions.callAudioTagClassName : '';
@@ -400,7 +402,10 @@ function ChatCall(app, params) {
400
402
  if (typeof +params.callId === 'number' && params.callId > 0) {
401
403
  receiveCallData.subjectId = +params.callId;
402
404
  } else {
403
- app.errorHandler.raiseError(_errorHandler.errorList.INVALID_CALLID, callback, true, {});
405
+ // app.errorHandler.raiseError(errorList.INVALID_CALLID, callback, true, {});
406
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
407
+ replacements: ['callReceived']
408
+ })), callback, true, {});
404
409
  /* app.chatEvents.fireEvent('error', {
405
410
  code: 999,
406
411
  message: 'Invalid call id!'
@@ -497,9 +502,9 @@ function ChatCall(app, params) {
497
502
 
498
503
  if (app.store.messagesCallbacks[uniqueId]) {
499
504
  app.store.messagesCallbacks[uniqueId](_utility["default"].createReturnData(chatMessage.typeCode, chatMessage.ownerId, false, '', 0, messageContent, contentCount));
500
- }
505
+ } // messageContent.callId = threadId;
506
+
501
507
 
502
- messageContent.threadId = threadId;
503
508
  app.chatEvents.fireEvent('callEvents', {
504
509
  type: 'RECEIVE_CALL',
505
510
  result: messageContent,
@@ -759,6 +764,24 @@ function ChatCall(app, params) {
759
764
  */
760
765
 
761
766
  case _constants.chatMessageVOTypes.LEAVE_CALL:
767
+ var raiseEventToClient = false;
768
+
769
+ if (app.call.currentCall()) {
770
+ if (app.callsManager.currentCallId() == threadId) {
771
+ raiseEventToClient = true;
772
+ }
773
+ } else if (messageContent && messageContent[0] && messageContent[0].userId && messageContent[0].userId == app.store.user.get().id) {
774
+ raiseEventToClient = true;
775
+ }
776
+
777
+ if (raiseEventToClient) {
778
+ app.chatEvents.fireEvent('callEvents', {
779
+ type: 'CALL_PARTICIPANT_LEFT',
780
+ callId: threadId,
781
+ result: messageContent
782
+ });
783
+ }
784
+
762
785
  if (app.callsManager.currentCallId() != threadId) return;
763
786
  (_app$callsManager$get = app.callsManager.get(threadId)) === null || _app$callsManager$get === void 0 ? void 0 : _app$callsManager$get.handleParticipantLeft(messageContent, threadId);
764
787
  break;
@@ -889,7 +912,8 @@ function ChatCall(app, params) {
889
912
  callId: threadId,
890
913
  result: messageContent,
891
914
  uniqueId: uniqueId
892
- }); // if(!requestedCallId) {
915
+ });
916
+ clearTimeout(callRequestController.callRequestTimeout); // if(!requestedCallId) {
893
917
 
894
918
  app.call.sharedVariables.requestedCallId = messageContent.callId;
895
919
  } // }
@@ -1086,7 +1110,7 @@ function ChatCall(app, params) {
1086
1110
  var user1 = app.call.currentCallMyUser();
1087
1111
 
1088
1112
  if (user1 && user1.user().video && user1.videoTopicManager()) {
1089
- user1.videoTopicManager().restartMediaOnKeyFrame(app.store.user.get().id, [2000, 4000]);
1113
+ user1.videoTopicManager().restartMediaOnKeyFrame(app.store.user.get().id, [4000, 8000]);
1090
1114
  }
1091
1115
 
1092
1116
  if (app.call.currentCall().users().get("screenShare") && app.call.currentCall().users().get("screenShare").videoTopicManager()) app.call.currentCall().users().get("screenShare").videoTopicManager().restartMediaOnKeyFrame("screenShare", [4000, 8000]);
@@ -1276,7 +1300,13 @@ function ChatCall(app, params) {
1276
1300
  var call = app.call.currentCall();
1277
1301
 
1278
1302
  if (!call) {
1279
- raiseCallError(_errorHandler.errorList.INVALID_CALLID, null, true);
1303
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
1304
+ replacements: ['changeMediaDevice']
1305
+ })), null, true, {
1306
+ eventName: 'callEvents',
1307
+ eventType: 'CALL_ERROR'
1308
+ }); // raiseCallError(errorList.INVALID_CALLID, null, true);
1309
+
1280
1310
  return;
1281
1311
  }
1282
1312
 
@@ -1324,7 +1354,8 @@ function ChatCall(app, params) {
1324
1354
  typeCode: params.typeCode,
1325
1355
  //params.typeCode,
1326
1356
  pushMsgType: 3,
1327
- token: app.sdkParams.token
1357
+ token: app.sdkParams.token,
1358
+ uniqueId: params.uniqueId ? params.uniqueId : _utility["default"].generateUUID()
1328
1359
  }, content = {
1329
1360
  creatorClientDto: {}
1330
1361
  };
@@ -1415,7 +1446,13 @@ function ChatCall(app, params) {
1415
1446
  hasError: true,
1416
1447
  errorCode: result.errorCode,
1417
1448
  errorMessage: result.errorMessage
1418
- });
1449
+ }); // app.chatEvents.fireEvent('callEvents', {
1450
+ // type: 'CALL_ERROR',
1451
+ // code: result.errorCode,
1452
+ // message: result.errorMessage,
1453
+ // uniqueId: startCallData.uniqueId
1454
+ // });
1455
+
1419
1456
  return;
1420
1457
  }
1421
1458
 
@@ -1425,7 +1462,8 @@ function ChatCall(app, params) {
1425
1462
  if (!app.call.callStopQueue.callStarted) {
1426
1463
  app.chatEvents.fireEvent("callEvents", {
1427
1464
  type: "CALL_NO_ANSWER_TIMEOUT",
1428
- message: "[CALL_SESSION_CREATED] Call request timed out, No answer"
1465
+ message: "[startCall] Call request timed out, No answer",
1466
+ uniqueId: startCallData.uniqueId
1429
1467
  });
1430
1468
  metaData.callInstance.rejectCall({
1431
1469
  callId: metaData.currentCallId
@@ -1470,7 +1508,8 @@ function ChatCall(app, params) {
1470
1508
  typeCode: params.typeCode,
1471
1509
  //params.typeCode,
1472
1510
  pushMsgType: 3,
1473
- token: app.sdkParams.token
1511
+ token: app.sdkParams.token,
1512
+ uniqueId: params.uniqueId ? params.uniqueId : _utility["default"].generateUUID()
1474
1513
  }, content = {
1475
1514
  creatorClientDto: {}
1476
1515
  };
@@ -1563,7 +1602,13 @@ function ChatCall(app, params) {
1563
1602
  hasError: true,
1564
1603
  errorCode: result.errorCode,
1565
1604
  errorMessage: result.errorMessage
1566
- });
1605
+ }); // app.chatEvents.fireEvent('callEvents', {
1606
+ // type: 'CALL_ERROR',
1607
+ // code: result.errorCode,
1608
+ // message: result.errorMessage,
1609
+ // uniqueId: startCallData.uniqueId
1610
+ // });
1611
+
1567
1612
  return;
1568
1613
  }
1569
1614
 
@@ -1573,7 +1618,8 @@ function ChatCall(app, params) {
1573
1618
  if (!app.call.callStopQueue.callStarted) {
1574
1619
  app.chatEvents.fireEvent("callEvents", {
1575
1620
  type: "CALL_NO_ANSWER_TIMEOUT",
1576
- message: "[CALL_SESSION_CREATED] Call request timed out, No answer"
1621
+ message: "[startGroupCall] Call request timed out, No answer",
1622
+ uniqueId: startCallData.uniqueId
1577
1623
  });
1578
1624
  metaData.callInstance.rejectCall({
1579
1625
  callId: metaData.currentCallId
@@ -1629,7 +1675,10 @@ function ChatCall(app, params) {
1629
1675
  if (typeof +params.callId === 'number' && params.callId > 0) {
1630
1676
  terminateCallData.subjectId = +params.callId;
1631
1677
  } else {
1632
- app.errorHandler.raiseError(_errorHandler.errorList.INVALID_CALLID, callback, true, {});
1678
+ // app.errorHandler.raiseError(errorList.INVALID_CALLID, callback, true, {});
1679
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
1680
+ replacements: ['terminateCall']
1681
+ })), callback, true, {});
1633
1682
  return;
1634
1683
  }
1635
1684
 
@@ -1661,7 +1710,8 @@ function ChatCall(app, params) {
1661
1710
  typeCode: params.typeCode,
1662
1711
  //params.typeCode,
1663
1712
  pushMsgType: 3,
1664
- token: app.sdkParams.token
1713
+ token: app.sdkParams.token,
1714
+ uniqueId: params.uniqueId ? params.uniqueId : _utility["default"].generateUUID()
1665
1715
  }, content = {};
1666
1716
  audioObject = params.audioPermissionObject ? params.audioPermissionObject : !params.mute;
1667
1717
 
@@ -1680,7 +1730,10 @@ function ChatCall(app, params) {
1680
1730
  break;
1681
1731
 
1682
1732
  case 7:
1683
- app.errorHandler.raiseError(_errorHandler.errorList.INVALID_CALLID, callback, true, {});
1733
+ // app.errorHandler.raiseError(errorList.INVALID_CALLID, callback, true, {});
1734
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
1735
+ replacements: ['acceptCall']
1736
+ })), callback, true, {});
1684
1737
  return _context3.abrupt("return");
1685
1738
 
1686
1739
  case 9:
@@ -1719,7 +1772,13 @@ function ChatCall(app, params) {
1719
1772
  hasError: true,
1720
1773
  errorCode: result.errorCode,
1721
1774
  errorMessage: result.errorMessage
1722
- });
1775
+ }); // app.chatEvents.fireEvent('callEvents', {
1776
+ // type: 'CALL_ERROR',
1777
+ // code: result.errorCode,
1778
+ // message: result.errorMessage,
1779
+ // uniqueId: acceptCallData.uniqueId
1780
+ // });
1781
+
1723
1782
  return;
1724
1783
  }
1725
1784
 
@@ -1756,7 +1815,10 @@ function ChatCall(app, params) {
1756
1815
  if (typeof +params.callId === 'number' && params.callId > 0) {
1757
1816
  rejectCallData.subjectId = +params.callId;
1758
1817
  } else {
1759
- app.errorHandler.raiseError(_errorHandler.errorList.INVALID_CALLID, callback, true, {});
1818
+ // app.errorHandler.raiseError(errorList.INVALID_CALLID, callback, true, {});
1819
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
1820
+ replacements: ['rejectCall']
1821
+ })), callback, true, {});
1760
1822
  return;
1761
1823
  }
1762
1824
  } else {
@@ -1790,7 +1852,10 @@ function ChatCall(app, params) {
1790
1852
  if (typeof +params.callId === 'number' && params.callId > 0) {
1791
1853
  recordCallData.subjectId = +params.callId;
1792
1854
  } else {
1793
- app.errorHandler.raiseError(_errorHandler.errorList.INVALID_CALLID, callback, true, {});
1855
+ // app.errorHandler.raiseError(errorList.INVALID_CALLID, callback, true, {});
1856
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
1857
+ replacements: ['startRecordingCall']
1858
+ })), callback, true, {});
1794
1859
  return;
1795
1860
  }
1796
1861
 
@@ -1808,6 +1873,13 @@ function ChatCall(app, params) {
1808
1873
  return;
1809
1874
  }
1810
1875
 
1876
+ if (!app.call.currentCall()) {
1877
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
1878
+ replacements: ['startRecordingCall']
1879
+ })), callback, true, {});
1880
+ return;
1881
+ }
1882
+
1811
1883
  return app.messenger.sendMessage(recordCallData, {
1812
1884
  onResult: function onResult(result) {
1813
1885
  if (app.call.currentCall() && !app.call.currentCall().callServerController().isJanus() && app.call.currentCall().users().get(app.store.user.get().id) && app.call.currentCall().users().get(app.store.user.get().id).videoTopicManager()) app.call.currentCall().users().get(app.store.user.get().id).videoTopicManager().restartMediaOnKeyFrame(app.store.user.get().id, [100]);
@@ -1829,7 +1901,10 @@ function ChatCall(app, params) {
1829
1901
  if (typeof +params.callId === 'number' && params.callId > 0) {
1830
1902
  stopRecordingCallData.subjectId = +params.callId;
1831
1903
  } else {
1832
- app.errorHandler.raiseError(_errorHandler.errorList.INVALID_CALLID, callback, true, {});
1904
+ // app.errorHandler.raiseError(errorList.INVALID_CALLID, callback, true, {});
1905
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
1906
+ replacements: ['stopRecordingCall']
1907
+ })), callback, true, {});
1833
1908
  return;
1834
1909
  }
1835
1910
  } else {
@@ -1840,6 +1915,13 @@ function ChatCall(app, params) {
1840
1915
  return;
1841
1916
  }
1842
1917
 
1918
+ if (!app.call.currentCall()) {
1919
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
1920
+ replacements: ['stopRecordingCall']
1921
+ })), callback, true, {});
1922
+ return;
1923
+ }
1924
+
1843
1925
  return app.messenger.sendMessage(stopRecordingCallData, {
1844
1926
  onResult: function onResult(result) {
1845
1927
  callback && callback(result);
@@ -1858,7 +1940,17 @@ function ChatCall(app, params) {
1858
1940
  };
1859
1941
 
1860
1942
  if (!sendData.subjectId) {
1861
- raiseCallError(_errorHandler.errorList.INVALID_CALLID, callback, true, {});
1943
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
1944
+ replacements: ['startScreenShare']
1945
+ })), callback, true, {});
1946
+ return;
1947
+ }
1948
+
1949
+ if (!app.call.currentCall()) {
1950
+ // app.errorHandler.raiseError(errorList.INVALID_CALLID, callback, true, {});
1951
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
1952
+ replacements: ['startScreenShare']
1953
+ })), callback, true, {});
1862
1954
  return;
1863
1955
  }
1864
1956
 
@@ -1868,7 +1960,7 @@ function ChatCall(app, params) {
1868
1960
  }
1869
1961
 
1870
1962
  if (params.quality) {
1871
- app.call.sharedVariables.startScreenSharetParams.quality = params.quality;
1963
+ app.call.sharedVariables.startScreenShareParams.quality = params.quality;
1872
1964
  }
1873
1965
 
1874
1966
  app.call.deviceManager.grantScreenSharePermission({
@@ -2326,6 +2418,18 @@ function ChatCall(app, params) {
2326
2418
  }
2327
2419
  }
2328
2420
 
2421
+ if (!app.call.currentCall()) {
2422
+ // app.errorHandler.raiseError(errorList.INVALID_CALLID, callback, true, {});
2423
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
2424
+ replacements: ['muteCallParticipants']
2425
+ })), callback, true, {});
2426
+ return;
2427
+ }
2428
+
2429
+ if (app.call.currentCall().callServerController().isJanus()) {
2430
+ app.call.currentCall().handleParticipantMuteForMe();
2431
+ }
2432
+
2329
2433
  app.requestBlocker.add({
2330
2434
  key: app.requestBlocker.limitedTypes.START_STOP_VIDEO_VOICE,
2331
2435
  uniqueId: sendMessageParams.uniqueId,
@@ -2382,6 +2486,13 @@ function ChatCall(app, params) {
2382
2486
  }
2383
2487
  }
2384
2488
 
2489
+ if (!app.call.currentCall()) {
2490
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
2491
+ replacements: ['unMuteCallParticipants']
2492
+ })), callback, true, {});
2493
+ return;
2494
+ }
2495
+
2385
2496
  app.requestBlocker.add({
2386
2497
  key: app.requestBlocker.limitedTypes.START_STOP_VIDEO_VOICE,
2387
2498
  uniqueId: sendMessageParams.uniqueId,
@@ -2427,7 +2538,10 @@ function ChatCall(app, params) {
2427
2538
  if (typeof +params.callId === 'number' && params.callId > 0) {
2428
2539
  turnOnVideoData.subjectId = +params.callId;
2429
2540
  } else {
2430
- app.errorHandler.raiseError(_errorHandler.errorList.INVALID_CALLID, callback, true, {});
2541
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
2542
+ replacements: ['turnOnVideoCall']
2543
+ })), callback, true, {}); // app.errorHandler.raiseError(errorList.INVALID_CALLID, callback, true, {});
2544
+
2431
2545
  return;
2432
2546
  }
2433
2547
  } else {
@@ -2441,11 +2555,10 @@ function ChatCall(app, params) {
2441
2555
  var call = app.call.currentCall();
2442
2556
 
2443
2557
  if (!call) {
2444
- app.errorHandler.raiseError(_errorHandler.errorList.INVALID_CALLID, callback, true, {}); // app.chatEvents.fireEvent('error', {
2445
- // code: 999,
2446
- // message: 'Call not exists'
2447
- // });
2448
-
2558
+ // app.errorHandler.raiseError(errorList.INVALID_CALLID, callback, true, {});
2559
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
2560
+ replacements: ['turnOnVideoCall']
2561
+ })), callback, true, {});
2449
2562
  return;
2450
2563
  }
2451
2564
 
@@ -2464,11 +2577,32 @@ function ChatCall(app, params) {
2464
2577
  uniqueId: turnOnVideoData.uniqueId,
2465
2578
  blockTimeSeconds: 2
2466
2579
  });
2467
- return app.messenger.sendMessage(turnOnVideoData, {
2468
- onResult: function onResult(result) {
2469
- callback && callback(result);
2580
+ app.call.deviceManager.grantUserMediaDevicesPermissions({
2581
+ video: true,
2582
+ closeStream: true
2583
+ }, function (result) {
2584
+ if (result.hasError) {
2585
+ callback && callback({
2586
+ hasError: true,
2587
+ errorCode: result.errorCode,
2588
+ errorMessage: result.errorMessage
2589
+ });
2590
+ app.call.currentCall().raiseCallError({
2591
+ code: result.errorCode,
2592
+ message: result.errorMessage
2593
+ }, null, true);
2594
+ return;
2470
2595
  }
2596
+
2597
+ app.messenger.sendMessage(turnOnVideoData, {
2598
+ onResult: function onResult(result) {
2599
+ callback && callback(result);
2600
+ }
2601
+ });
2471
2602
  });
2603
+ return {
2604
+ uniqueId: turnOnVideoData.uniqueId
2605
+ };
2472
2606
  };
2473
2607
 
2474
2608
  this.turnOffVideoCall = function (params, callback) {
@@ -2492,7 +2626,10 @@ function ChatCall(app, params) {
2492
2626
  if (typeof +params.callId === 'number' && params.callId > 0) {
2493
2627
  turnOffVideoData.subjectId = +params.callId;
2494
2628
  } else {
2495
- app.errorHandler.raiseError(_errorHandler.errorList.INVALID_CALLID, callback, true, {});
2629
+ // app.errorHandler.raiseError(errorList.INVALID_CALLID, callback, true, {});
2630
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
2631
+ replacements: ['turnOffVideoCall']
2632
+ })), callback, true, {});
2496
2633
  return;
2497
2634
  }
2498
2635
  } else {
@@ -2516,18 +2653,24 @@ function ChatCall(app, params) {
2516
2653
  var user = call.users().get(app.store.user.get().id); //callUsers[store.user().id];
2517
2654
 
2518
2655
  if (!call.callServerController().isJanus() && user && user.videoTopicManager() && user.videoTopicManager().getPeer() && (user.videoTopicManager().isPeerConnecting() || user.videoTopicManager().isPeerFailed() || user.videoTopicManager().isPeerDisconnected())) {
2519
- app.chatEvents.fireEvent('error', {
2520
- code: 999,
2521
- message: '[SDK] Can not stop stream in current state'
2522
- });
2656
+ // app.chatEvents.fireEvent('error', {
2657
+ // code: 999,
2658
+ // message: '[SDK] Can not stop stream in current state'
2659
+ // });
2660
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.CAN_NOT_STOP_STREAM_IN_CURRENT_STATE), {}, {
2661
+ uniqueId: turnOffVideoData.uniqueId
2662
+ })), callback, true, {});
2523
2663
  return;
2524
2664
  }
2525
2665
 
2526
2666
  if (call.callServerController().isJanus() && call.sendPeerManager() && call.sendPeerManager().getPeer() && (call.sendPeerManager().isPeerConnecting() || call.sendPeerManager().isPeerFailed() || call.sendPeerManager().isPeerDisconnected())) {
2527
- app.chatEvents.fireEvent('error', {
2528
- code: 999,
2529
- message: '[SDK] Can not stop stream in current state'
2530
- });
2667
+ // app.chatEvents.fireEvent('error', {
2668
+ // code: 999,
2669
+ // message: '[SDK] Can not stop stream in current state'
2670
+ // });
2671
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.CAN_NOT_STOP_STREAM_IN_CURRENT_STATE), {}, {
2672
+ uniqueId: turnOffVideoData.uniqueId
2673
+ })), callback, true, {});
2531
2674
  return;
2532
2675
  }
2533
2676
 
@@ -2683,7 +2826,10 @@ function ChatCall(app, params) {
2683
2826
  };
2684
2827
 
2685
2828
  if (!sendMessageParams.subjectId) {
2686
- app.errorHandler.raiseError(_errorHandler.errorList.INVALID_CALLID, callback, true, {});
2829
+ // app.errorHandler.raiseError(errorList.INVALID_CALLID, callback, true, {});
2830
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
2831
+ replacements: ['sendCallSticker']
2832
+ })), callback, true, {});
2687
2833
  return;
2688
2834
  }
2689
2835
 
@@ -2710,7 +2856,10 @@ function ChatCall(app, params) {
2710
2856
  };
2711
2857
 
2712
2858
  if (!invitees || !Array.isArray(invitees) || !invitees.length) {
2713
- raiseCallError(_errorHandler.errorList.INVITEES_LIST_REQUIRED, callback, true, {});
2859
+ // raiseCallError(errorList.INVITEES_LIST_REQUIRED, callback, true, {});
2860
+ app.errorHandler.raiseCallError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVITEES_LIST_REQUIRED), {}, {
2861
+ replacements: ['recallThreadParticipant']
2862
+ })), callback, true);
2714
2863
  return;
2715
2864
  }
2716
2865
 
@@ -2731,7 +2880,10 @@ function ChatCall(app, params) {
2731
2880
  var call = app.call.currentCall();
2732
2881
 
2733
2882
  if (!call) {
2734
- app.errorHandler.raiseError(_errorHandler.errorList.INVALID_CALLID, null, true, {}); // app.chatEvents.fireEvent('error', {
2883
+ // app.errorHandler.raiseError(errorList.INVALID_CALLID, null, true, {});
2884
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
2885
+ replacements: ['raiseHand']
2886
+ })), null, true, {}); // app.chatEvents.fireEvent('error', {
2735
2887
  // code: 999,
2736
2888
  // message: 'Call not exists'
2737
2889
  // });
@@ -2745,7 +2897,10 @@ function ChatCall(app, params) {
2745
2897
  if (typeof +params.callId === 'number' && params.callId > 0) {
2746
2898
  sendDataContent.callId = +params.callId;
2747
2899
  } else {
2748
- app.errorHandler.raiseError(_errorHandler.errorList.INVALID_CALLID, null, true, {});
2900
+ // app.errorHandler.raiseError(errorList.INVALID_CALLID, null, true, {});
2901
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
2902
+ replacements: ['raiseHand']
2903
+ })), null, true, {});
2749
2904
  /* app.chatEvents.fireEvent('error', {
2750
2905
  code: 999,
2751
2906
  message: 'Invalid call id!'
@@ -2777,7 +2932,10 @@ function ChatCall(app, params) {
2777
2932
  var call = app.call.currentCall();
2778
2933
 
2779
2934
  if (!call) {
2780
- app.errorHandler.raiseError(_errorHandler.errorList.INVALID_CALLID, null, true, {});
2935
+ // app.errorHandler.raiseError(errorList.INVALID_CALLID, null, true, {});
2936
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
2937
+ replacements: ['lowerHand']
2938
+ })), null, true, {});
2781
2939
  return;
2782
2940
  }
2783
2941
 
@@ -2787,7 +2945,10 @@ function ChatCall(app, params) {
2787
2945
  if (typeof +params.callId === 'number' && params.callId > 0) {
2788
2946
  sendDataContent.callId = +params.callId;
2789
2947
  } else {
2790
- app.errorHandler.raiseError(_errorHandler.errorList.INVALID_CALLID, null, true, {});
2948
+ // app.errorHandler.raiseError(errorList.INVALID_CALLID, null, true, {});
2949
+ app.errorHandler.raiseError(app.errorHandler.getFilledErrorObject(_objectSpread(_objectSpread({}, _errorHandler.errorList.INVALID_CALLID), {}, {
2950
+ replacements: ['lowerHand']
2951
+ })), null, true, {});
2791
2952
  return;
2792
2953
  }
2793
2954
  } else {