@bigbinary/neeto-media-recorder 2.1.6-beta.2 → 2.1.6

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/constants.js CHANGED
@@ -20,9 +20,7 @@ var ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;
20
20
  var ONE_HOUR_IN_MILLISECONDS = 60 * ONE_MINUTE_IN_MILLISECONDS;
21
21
  var ONE_SECOND = 1;
22
22
  var UPLOAD_EVENT = {
23
- onComplete: "onComplete",
24
- onError: "onError",
25
- onProgress: "onProgress"
23
+ onComplete: "onComplete"
26
24
  };
27
25
  var UPLOAD_STATUS = {
28
26
  uploading: "uploading",
@@ -53,6 +51,8 @@ var SCREEN_RECORDER_ERROR = {
53
51
  NotAllowedError: "permission_denied",
54
52
  NotFoundError: "no_specified_media_found",
55
53
  NotReadableError: "media_in_use",
54
+ NotSupportedError: "not_supported_error",
55
+ InvalidStateError: "invalid_state_error",
56
56
  OverconstrainedError: "invalid_media_constraints",
57
57
  TypeError: "no_chrome_flags_set",
58
58
  None: "",
@@ -65,8 +65,7 @@ var SCREEN_RECORDER_EVENT = {
65
65
  onDiscard: "onDiscard",
66
66
  onDataAvailable: "onDataAvailable",
67
67
  onDiscardDuringCountdown: "onDiscardDuringCountdown",
68
- onRestart: "onRestart",
69
- onReUpload: "onReUpload"
68
+ onRestart: "onRestart"
70
69
  };
71
70
  var TOTAL_RETRIES = 30;
72
71
  var INITIAL_RETRY_DELAY = 4000;
package/constants.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["node_modules/@babel/runtime/helpers/esm/typeof.js","src/constants.js"],"sourcesContent":["export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\n// https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList\nexport const RETRIABLE_ERRORS = [500, 503];\n\nexport const ONE_SECOND_IN_MILLISECONDS = 1000;\nexport const HALF_A_SECOND_IN_MILLISECONDS = 500;\nexport const TWO_HUNDRED_MILLISECONDS = 200;\n\nexport const ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;\nexport const ONE_HOUR_IN_MILLISECONDS = 60 * ONE_MINUTE_IN_MILLISECONDS;\n\nexport const ONE_SECOND = 1;\n\nexport const UPLOAD_EVENT = {\n onComplete: \"onComplete\",\n onError: \"onError\",\n onProgress: \"onProgress\",\n};\n\nexport const UPLOAD_STATUS = {\n uploading: \"uploading\",\n completed: \"completed\",\n aborting: \"aborting\",\n insufficient_data: \"insufficient_data\",\n};\n\nexport const SCREEN_RECORDER_STATUS = {\n media_aborted: \"media_aborted\",\n permission_denied: \"permission_denied\",\n no_specified_media_found: \"no_specified_media_found\",\n media_in_use: \"media_in_use\",\n invalid_media_constraints: \"invalid_media_constraints\",\n no_chrome_flags_set: \"no_chrome_flags_set\",\n recorder_error: \"recorder_error\",\n idle: \"idle\",\n acquiring_media: \"acquiring_media\",\n media_acquired: \"media_acquired\",\n restarting: \"restarting\",\n recording: \"recording\",\n stopping: \"stopping\",\n stopped: \"stopped\",\n paused: \"paused\",\n};\n\nexport const SCREEN_RECORDER_ERROR = {\n MicPermissionDenied: \"mic_permission_denied\",\n AbortError: \"media_aborted\",\n NotAllowedError: \"permission_denied\",\n NotFoundError: \"no_specified_media_found\",\n NotReadableError: \"media_in_use\",\n OverconstrainedError: \"invalid_media_constraints\",\n TypeError: \"no_chrome_flags_set\",\n None: \"\",\n NoRecorder: \"recorder_error\",\n UnSupportedBrowser: \"unsupported_browser\",\n};\n\nexport const SCREEN_RECORDER_EVENT = {\n onStart: \"onStart\",\n onStop: \"onStop\",\n onDiscard: \"onDiscard\",\n onDataAvailable: \"onDataAvailable\",\n onDiscardDuringCountdown: \"onDiscardDuringCountdown\",\n onRestart: \"onRestart\",\n onReUpload: \"onReUpload\",\n};\n\nexport const TOTAL_RETRIES = 30;\nexport const INITIAL_RETRY_DELAY = 4000;\nexport const MAX_RETRY_DELAY = 16000;\n\nexport const DEFAULT_RETRY_CONFIG = {\n retries: TOTAL_RETRIES,\n retryDelay: INITIAL_RETRY_DELAY,\n retryableStatuses: [],\n};\n\n// No need to localize this since it will only be used in the code\n// eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized\nexport const NETWORK_ERROR = \"Network Error\";\nexport const TIMEOUT_ERROR = \"ECONNABORTED\";\n\nexport const HAS_CHROME_NAMESPACE = typeof chrome === \"object\";\n\nexport const IS_EXTENSION = HAS_CHROME_NAMESPACE && isNotNil(chrome.extension);\n\nexport const IS_SAFARI = platform.name === \"Safari\";\n\nexport const IS_SAFARI_EXTENSION = IS_SAFARI && IS_EXTENSION;\n\nexport const PERMISSIONS_HELP_DOC =\n \"https://neetorecordhelp.neetokb.com/p/a-10efcfd7\";\n\nexport const MIME_TYPE = {\n mp4: \"video/mp4\",\n webmH264: \"video/webm;codecs=h264\",\n};\n\nexport const START_RECORDING_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-start-sound-2.mp3\";\n\nexport const STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-end-sound.mp3\";\n\nexport const RECORDING_LIMIT_REACHED_WARNING_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-warning-sound.mp3\";\n\nexport const RECORDING_TIME_LIMIT_FREE_PLAN = 15 * ONE_MINUTE_IN_MILLISECONDS; // 15 minutes\nexport const RECORDING_TIME_LIMIT_PRO_PLAN = 2 * ONE_HOUR_IN_MILLISECONDS; // 2 hours\n"],"names":["RETRIABLE_ERRORS","ONE_SECOND_IN_MILLISECONDS","HALF_A_SECOND_IN_MILLISECONDS","TWO_HUNDRED_MILLISECONDS","ONE_MINUTE_IN_MILLISECONDS","ONE_HOUR_IN_MILLISECONDS","ONE_SECOND","UPLOAD_EVENT","onComplete","onError","onProgress","UPLOAD_STATUS","uploading","completed","aborting","insufficient_data","SCREEN_RECORDER_STATUS","media_aborted","permission_denied","no_specified_media_found","media_in_use","invalid_media_constraints","no_chrome_flags_set","recorder_error","idle","acquiring_media","media_acquired","restarting","recording","stopping","stopped","paused","SCREEN_RECORDER_ERROR","MicPermissionDenied","AbortError","NotAllowedError","NotFoundError","NotReadableError","OverconstrainedError","TypeError","None","NoRecorder","UnSupportedBrowser","SCREEN_RECORDER_EVENT","onStart","onStop","onDiscard","onDataAvailable","onDiscardDuringCountdown","onRestart","onReUpload","TOTAL_RETRIES","INITIAL_RETRY_DELAY","MAX_RETRY_DELAY","DEFAULT_RETRY_CONFIG","retries","retryDelay","retryableStatuses","NETWORK_ERROR","TIMEOUT_ERROR","HAS_CHROME_NAMESPACE","chrome","_typeof","IS_EXTENSION","isNotNil","extension","IS_SAFARI","platform","name","IS_SAFARI_EXTENSION","PERMISSIONS_HELP_DOC","MIME_TYPE","mp4","webmH264","START_RECORDING_SOUND","STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND","RECORDING_LIMIT_REACHED_WARNING_SOUND","RECORDING_TIME_LIMIT_FREE_PLAN","RECORDING_TIME_LIMIT_PRO_PLAN"],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sources":["node_modules/@babel/runtime/helpers/esm/typeof.js","src/constants.js"],"sourcesContent":["export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\n// https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList\nexport const RETRIABLE_ERRORS = [500, 503];\n\nexport const ONE_SECOND_IN_MILLISECONDS = 1000;\nexport const HALF_A_SECOND_IN_MILLISECONDS = 500;\nexport const TWO_HUNDRED_MILLISECONDS = 200;\n\nexport const ONE_MINUTE_IN_MILLISECONDS = 60 * ONE_SECOND_IN_MILLISECONDS;\nexport const ONE_HOUR_IN_MILLISECONDS = 60 * ONE_MINUTE_IN_MILLISECONDS;\n\nexport const ONE_SECOND = 1;\n\nexport const UPLOAD_EVENT = { onComplete: \"onComplete\" };\n\nexport const UPLOAD_STATUS = {\n uploading: \"uploading\",\n completed: \"completed\",\n aborting: \"aborting\",\n insufficient_data: \"insufficient_data\",\n};\n\nexport const SCREEN_RECORDER_STATUS = {\n media_aborted: \"media_aborted\",\n permission_denied: \"permission_denied\",\n no_specified_media_found: \"no_specified_media_found\",\n media_in_use: \"media_in_use\",\n invalid_media_constraints: \"invalid_media_constraints\",\n no_chrome_flags_set: \"no_chrome_flags_set\",\n recorder_error: \"recorder_error\",\n idle: \"idle\",\n acquiring_media: \"acquiring_media\",\n media_acquired: \"media_acquired\",\n restarting: \"restarting\",\n recording: \"recording\",\n stopping: \"stopping\",\n stopped: \"stopped\",\n paused: \"paused\",\n};\n\nexport const SCREEN_RECORDER_ERROR = {\n MicPermissionDenied: \"mic_permission_denied\",\n AbortError: \"media_aborted\",\n NotAllowedError: \"permission_denied\",\n NotFoundError: \"no_specified_media_found\",\n NotReadableError: \"media_in_use\",\n NotSupportedError: \"not_supported_error\",\n InvalidStateError: \"invalid_state_error\",\n OverconstrainedError: \"invalid_media_constraints\",\n TypeError: \"no_chrome_flags_set\",\n None: \"\",\n NoRecorder: \"recorder_error\",\n UnSupportedBrowser: \"unsupported_browser\",\n};\n\nexport const SCREEN_RECORDER_EVENT = {\n onStart: \"onStart\",\n onStop: \"onStop\",\n onDiscard: \"onDiscard\",\n onDataAvailable: \"onDataAvailable\",\n onDiscardDuringCountdown: \"onDiscardDuringCountdown\",\n onRestart: \"onRestart\",\n};\n\nexport const TOTAL_RETRIES = 30;\nexport const INITIAL_RETRY_DELAY = 4000;\nexport const MAX_RETRY_DELAY = 16000;\n\nexport const DEFAULT_RETRY_CONFIG = {\n retries: TOTAL_RETRIES,\n retryDelay: INITIAL_RETRY_DELAY,\n retryableStatuses: [],\n};\n\n// No need to localize this since it will only be used in the code\n// eslint-disable-next-line @bigbinary/neeto/hard-coded-strings-should-be-localized\nexport const NETWORK_ERROR = \"Network Error\";\nexport const TIMEOUT_ERROR = \"ECONNABORTED\";\n\nexport const HAS_CHROME_NAMESPACE = typeof chrome === \"object\";\n\nexport const IS_EXTENSION = HAS_CHROME_NAMESPACE && isNotNil(chrome.extension);\n\nexport const IS_SAFARI = platform.name === \"Safari\";\n\nexport const IS_SAFARI_EXTENSION = IS_SAFARI && IS_EXTENSION;\n\nexport const PERMISSIONS_HELP_DOC =\n \"https://neetorecordhelp.neetokb.com/p/a-10efcfd7\";\n\nexport const MIME_TYPE = {\n mp4: \"video/mp4\",\n webmH264: \"video/webm;codecs=h264\",\n};\n\nexport const START_RECORDING_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-start-sound-2.mp3\";\n\nexport const STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-end-sound.mp3\";\n\nexport const RECORDING_LIMIT_REACHED_WARNING_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-warning-sound.mp3\";\n\nexport const RECORDING_TIME_LIMIT_FREE_PLAN = 15 * ONE_MINUTE_IN_MILLISECONDS; // 15 minutes\nexport const RECORDING_TIME_LIMIT_PRO_PLAN = 2 * ONE_HOUR_IN_MILLISECONDS; // 2 hours\n"],"names":["RETRIABLE_ERRORS","ONE_SECOND_IN_MILLISECONDS","HALF_A_SECOND_IN_MILLISECONDS","TWO_HUNDRED_MILLISECONDS","ONE_MINUTE_IN_MILLISECONDS","ONE_HOUR_IN_MILLISECONDS","ONE_SECOND","UPLOAD_EVENT","onComplete","UPLOAD_STATUS","uploading","completed","aborting","insufficient_data","SCREEN_RECORDER_STATUS","media_aborted","permission_denied","no_specified_media_found","media_in_use","invalid_media_constraints","no_chrome_flags_set","recorder_error","idle","acquiring_media","media_acquired","restarting","recording","stopping","stopped","paused","SCREEN_RECORDER_ERROR","MicPermissionDenied","AbortError","NotAllowedError","NotFoundError","NotReadableError","NotSupportedError","InvalidStateError","OverconstrainedError","TypeError","None","NoRecorder","UnSupportedBrowser","SCREEN_RECORDER_EVENT","onStart","onStop","onDiscard","onDataAvailable","onDiscardDuringCountdown","onRestart","TOTAL_RETRIES","INITIAL_RETRY_DELAY","MAX_RETRY_DELAY","DEFAULT_RETRY_CONFIG","retries","retryDelay","retryableStatuses","NETWORK_ERROR","TIMEOUT_ERROR","HAS_CHROME_NAMESPACE","chrome","_typeof","IS_EXTENSION","isNotNil","extension","IS_SAFARI","platform","name","IS_SAFARI_EXTENSION","PERMISSIONS_HELP_DOC","MIME_TYPE","mp4","webmH264","START_RECORDING_SOUND","STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND","RECORDING_LIMIT_REACHED_WARNING_SOUND","RECORDING_TIME_LIMIT_FREE_PLAN","RECORDING_TIME_LIMIT_PRO_PLAN"],"mappings":"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"}
package/core.js CHANGED
@@ -690,7 +690,7 @@ var buildRetryableApi = function buildRetryableApi(apiConnector) {
690
690
  });
691
691
  case 4:
692
692
  if (!(remainingAttempts-- && !shouldCancelRetries)) {
693
- _context.next = 26;
693
+ _context.next = 24;
694
694
  break;
695
695
  }
696
696
  _context.prev = 5;
@@ -701,28 +701,26 @@ var buildRetryableApi = function buildRetryableApi(apiConnector) {
701
701
  case 11:
702
702
  _context.prev = 11;
703
703
  _context.t0 = _context["catch"](5);
704
- logger.error("buildRetryableApi -> Failed to connect, remainingAttempts:", remainingAttempts);
705
704
  isRetryableStatus = isPresent(retryableStatuses) && retryableStatuses.includes((_error$response = _context.t0.response) === null || _error$response === void 0 ? void 0 : _error$response.status);
706
705
  isRetryableError = isRetryableStatus || _context.t0.message === NETWORK_ERROR || _context.t0.code === TIMEOUT_ERROR;
707
706
  if (!(isRetryableError && remainingAttempts > 0)) {
708
- _context.next = 23;
707
+ _context.next = 21;
709
708
  break;
710
709
  }
711
- logger.info("buildRetryableApi -> Failed to connect, retry in:", retryDelay);
712
- _context.next = 20;
710
+ _context.next = 18;
713
711
  return sleep(retryDelay);
714
- case 20:
712
+ case 18:
715
713
  retryDelay = min(retryDelay * 2, MAX_RETRY_DELAY);
716
- _context.next = 24;
714
+ _context.next = 22;
717
715
  break;
718
- case 23:
716
+ case 21:
719
717
  throw _context.t0;
720
- case 24:
718
+ case 22:
721
719
  _context.next = 4;
722
720
  break;
723
- case 26:
721
+ case 24:
724
722
  throw new RetryError("Request cancelled or request retries exhausted");
725
- case 27:
723
+ case 25:
726
724
  case "end":
727
725
  return _context.stop();
728
726
  }
@@ -808,15 +806,6 @@ var prepareStore$1 = function prepareStore() {
808
806
  var isNotCancelledRequest = function isNotCancelledRequest(resolvedResponse) {
809
807
  return typeof resolvedResponse !== "boolean";
810
808
  };
811
- var calculateUploadProgress = function calculateUploadProgress(uploadProgress) {
812
- var total = Object.values(uploadProgress).reduce(function (sum, part) {
813
- return sum + part.total;
814
- }, 0);
815
- var uploaded = Object.values(uploadProgress).reduce(function (sum, part) {
816
- return sum + part.uploaded;
817
- }, 0);
818
- return Math.round(uploaded * 100 / total);
819
- };
820
809
 
821
810
  function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
822
811
  function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -832,8 +821,6 @@ var _store$1 = /*#__PURE__*/new WeakMap();
832
821
  var _abortController = /*#__PURE__*/new WeakMap();
833
822
  var _pendingS3ChunkUploads = /*#__PURE__*/new WeakMap();
834
823
  var _completeUploadPromise = /*#__PURE__*/new WeakMap();
835
- var _failedUpload = /*#__PURE__*/new WeakMap();
836
- var _uploadProgress = /*#__PURE__*/new WeakMap();
837
824
  var _fireCallbacks$1 = /*#__PURE__*/new WeakMap();
838
825
  var _uploadChunkToS = /*#__PURE__*/new WeakMap();
839
826
  var _getCurrentUnUploadedBlob = /*#__PURE__*/new WeakMap();
@@ -887,14 +874,6 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
887
874
  writable: true,
888
875
  value: void 0
889
876
  });
890
- _classPrivateFieldInitSpec$1(this, _failedUpload, {
891
- writable: true,
892
- value: []
893
- });
894
- _classPrivateFieldInitSpec$1(this, _uploadProgress, {
895
- writable: true,
896
- value: {}
897
- });
898
877
  _defineProperty(this, "initialize", function (recordingId, uploadId) {
899
878
  _classPrivateFieldSet(_this, _recordingId, recordingId);
900
879
  _classPrivateFieldSet(_this, _uploadId, uploadId);
@@ -904,10 +883,7 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
904
883
  if (data.size > 0) {
905
884
  _classPrivateFieldGet(_this, _unUploadedChunks).push(data);
906
885
  }
907
- if (_classPrivateFieldGet(_this, _isNotInitialized)) {
908
- logger.info("upload push -> not initialized");
909
- return;
910
- }
886
+ if (_classPrivateFieldGet(_this, _isNotInitialized)) return;
911
887
  logger.info("Current unuploaded data size is ", _classPrivateFieldGet(_this, _getCurrentUnUploadedBlob).call(_this).size / 1024 / 1024, "MB");
912
888
  if (_classPrivateFieldGet(_this, _getCurrentUnUploadedBlob).call(_this).size > _this.MIN_UPLOAD_CHUNK_SIZE) {
913
889
  var uploadChunkToS3Promise = _classPrivateFieldGet(_this, _uploadChunkToS).call(_this, _classPrivateFieldGet(_this, _unUploadedChunks));
@@ -925,15 +901,13 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
925
901
  status: UPLOAD_STATUS.uploading
926
902
  });
927
903
  if (!_classPrivateFieldGet(_this, _isNotInitialized)) {
928
- _context.next = 5;
904
+ _context.next = 4;
929
905
  break;
930
906
  }
931
- logger.error("completeUpload -> not initialized");
932
907
  return _context.abrupt("return");
933
- case 5:
908
+ case 4:
934
909
  // Upload last chunk; only if last chunk has data
935
910
  if (_classPrivateFieldGet(_this, _getCurrentUnUploadedBlob).call(_this).size > 0) {
936
- logger.info("completeUpload -> need to upload last chunk");
937
911
  uploadChunkToS3Promise = _classPrivateFieldGet(_this, _uploadChunkToS).call(_this, _classPrivateFieldGet(_this, _unUploadedChunks));
938
912
  _classPrivateFieldGet(_this, _pendingS3ChunkUploads).push(uploadChunkToS3Promise);
939
913
  }
@@ -946,36 +920,22 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
946
920
  * adding the new presignedUrl part upload to s3PartUploadPromises.
947
921
  * This results in incorrect partNumbers.
948
922
  */
949
- logger.info("completeUpload -> uploading all pending chunks...", _classPrivateFieldGet(_this, _pendingS3ChunkUploads).length);
950
- _context.next = 9;
923
+ _context.next = 7;
951
924
  return Promise.all(_classPrivateFieldGet(_this, _pendingS3ChunkUploads));
952
- case 9:
953
- logger.info("completeUpload -> finishing part uploads...");
954
- _context.next = 12;
925
+ case 7:
926
+ _context.next = 9;
955
927
  return Promise.all(_classPrivateFieldGet(_this, _s3PartUploadPromises));
956
- case 12:
928
+ case 9:
957
929
  resolvedS3PartUploadPromises = _context.sent;
958
- if (!isNotEmpty(_classPrivateFieldGet(_this, _failedUpload))) {
959
- _context.next = 18;
960
- break;
961
- }
962
- logger.info("completeUpload -> chunks with these partNumbers failed:", _classPrivateFieldGet(_this, _failedUpload));
963
- _classPrivateFieldGet(_this, _fireCallbacks$1).call(_this, UPLOAD_EVENT.onError);
964
- _classPrivateFieldGet(_this, _store$1).setState({
965
- status: UPLOAD_STATUS.error
966
- });
967
- return _context.abrupt("return");
968
- case 18:
969
930
  if (!(resolvedS3PartUploadPromises.length === 0)) {
970
- _context.next = 22;
931
+ _context.next = 13;
971
932
  break;
972
933
  }
973
- logger.info("completeUpload -> insufficient data");
974
934
  _classPrivateFieldGet(_this, _store$1).setState({
975
935
  status: UPLOAD_STATUS.insufficient_data
976
936
  });
977
937
  return _context.abrupt("return");
978
- case 22:
938
+ case 13:
979
939
  parts = resolvedS3PartUploadPromises.filter(isNotCancelledRequest).map(function (resolvedResponse) {
980
940
  return {
981
941
  etag: resolvedResponse.headers.etag,
@@ -984,7 +944,6 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
984
944
  }).toSorted(function (a, b) {
985
945
  return Number(a.partNumber) - Number(b.partNumber);
986
946
  });
987
- logger.info("completeUpload -> uploaded parts: ", parts);
988
947
  _classPrivateFieldSet(_this, _completeUploadPromise, completeUploadApi.create({
989
948
  recordingId: _classPrivateFieldGet(_this, _recordingId),
990
949
  payload: {
@@ -995,41 +954,34 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
995
954
  signal: _classPrivateFieldGet(_this, _abortController).signal
996
955
  }
997
956
  }));
998
- logger.info("completeUpload -> completing upload... ");
999
- _context.next = 28;
957
+ _context.next = 17;
1000
958
  return _classPrivateFieldGet(_this, _completeUploadPromise);
1001
- case 28:
1002
- logger.info("completeUpload -> upload completed");
959
+ case 17:
1003
960
  if (!(_classPrivateFieldGet(_this, _store$1).getState().status === UPLOAD_STATUS.aborting)) {
1004
- _context.next = 32;
961
+ _context.next = 19;
1005
962
  break;
1006
963
  }
1007
- logger.info("completeUpload -> upload was marked as aborted");
1008
964
  return _context.abrupt("return");
1009
- case 32:
965
+ case 19:
1010
966
  _classPrivateFieldGet(_this, _store$1).setState({
1011
967
  status: UPLOAD_STATUS.completed
1012
968
  });
1013
969
  _classPrivateFieldGet(_this, _fireCallbacks$1).call(_this, UPLOAD_EVENT.onComplete);
1014
- _context.next = 41;
970
+ _context.next = 26;
1015
971
  break;
1016
- case 36:
1017
- _context.prev = 36;
972
+ case 23:
973
+ _context.prev = 23;
1018
974
  _context.t0 = _context["catch"](0);
1019
- _classPrivateFieldGet(_this, _store$1).setState({
1020
- status: UPLOAD_STATUS.error
1021
- });
1022
- _classPrivateFieldGet(_this, _fireCallbacks$1).call(_this, UPLOAD_EVENT.onError);
1023
975
  logger.error(_context.t0);
1024
- case 41:
1025
- _context.prev = 41;
976
+ case 26:
977
+ _context.prev = 26;
1026
978
  _classPrivateFieldSet(_this, _completeUploadPromise, null);
1027
- return _context.finish(41);
1028
- case 44:
979
+ return _context.finish(26);
980
+ case 29:
1029
981
  case "end":
1030
982
  return _context.stop();
1031
983
  }
1032
- }, _callee, null, [[0, 36, 41, 44]]);
984
+ }, _callee, null, [[0, 23, 26, 29]]);
1033
985
  })));
1034
986
  _defineProperty(this, "abortUpload", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
1035
987
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
@@ -1083,8 +1035,6 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
1083
1035
  _classPrivateFieldSet(_this, _partNumber, 1);
1084
1036
  _classPrivateFieldSet(_this, _s3PartUploadPromises, []);
1085
1037
  _classPrivateFieldSet(_this, _callbacks$1, {});
1086
- _classPrivateFieldSet(_this, _failedUpload, []);
1087
- _classPrivateFieldSet(_this, _uploadProgress, {});
1088
1038
  _classPrivateFieldGet(_this, _store$1).setState({
1089
1039
  status: ""
1090
1040
  });
@@ -1114,36 +1064,26 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
1114
1064
  writable: true,
1115
1065
  value: function () {
1116
1066
  var _value = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(chunks) {
1117
- var _this$partNumber;
1118
- var partNumber, _yield$partPresignedU, presignedUrl, s3PartUploadPromise;
1067
+ var _this$partNumber, _this$partNumber2, _yield$partPresignedU, presignedUrl, s3PartUploadPromise;
1119
1068
  return _regeneratorRuntime.wrap(function _callee3$(_context3) {
1120
1069
  while (1) switch (_context3.prev = _context3.next) {
1121
1070
  case 0:
1122
1071
  logger.info("Part ready to be uploaded: ", _classPrivateFieldGet(_this, _partNumber));
1123
- partNumber = _classPrivateFieldGet(_this, _partNumber);
1124
- _classPrivateFieldSet(_this, _partNumber, (_this$partNumber = _classPrivateFieldGet(_this, _partNumber), _this$partNumber++, _this$partNumber));
1125
- _classPrivateFieldGet(_this, _uploadProgress)[partNumber] = {
1126
- uploaded: 0,
1127
- total: new Blob(chunks, {
1128
- type: MIME_TYPE.webmH264
1129
- }).size
1130
- };
1131
- _context3.prev = 4;
1132
- _context3.next = 7;
1072
+ _context3.prev = 1;
1073
+ _context3.next = 4;
1133
1074
  return partPresignedUrlApi.create({
1134
1075
  recordingId: _classPrivateFieldGet(_this, _recordingId),
1135
1076
  payload: {
1136
- partNumber: partNumber,
1077
+ partNumber: (_classPrivateFieldSet(_this, _partNumber, (_this$partNumber = _classPrivateFieldGet(_this, _partNumber), _this$partNumber2 = _this$partNumber++, _this$partNumber)), _this$partNumber2),
1137
1078
  uploadId: _classPrivateFieldGet(_this, _uploadId)
1138
1079
  },
1139
1080
  config: {
1140
1081
  signal: _classPrivateFieldGet(_this, _abortController).signal
1141
1082
  }
1142
1083
  });
1143
- case 7:
1084
+ case 4:
1144
1085
  _yield$partPresignedU = _context3.sent;
1145
1086
  presignedUrl = _yield$partPresignedU.presignedUrl;
1146
- logger.info("Presigned url created for partNumber:", partNumber);
1147
1087
  s3PartUploadPromise = s3Api.presignedUpload({
1148
1088
  presignedUrl: presignedUrl,
1149
1089
  blob: new Blob(chunks, {
@@ -1151,37 +1091,21 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
1151
1091
  }),
1152
1092
  config: {
1153
1093
  includeMetadataInResponse: true,
1154
- signal: _classPrivateFieldGet(_this, _abortController).signal,
1155
- onUploadProgress: function onUploadProgress(e) {
1156
- _classPrivateFieldGet(_this, _uploadProgress)[partNumber] = {
1157
- uploaded: e.loaded,
1158
- total: e.total
1159
- };
1160
- if (_classPrivateFieldGet(_this, _store$1).getState().status === UPLOAD_STATUS.uploading) {
1161
- var percentCompleted = calculateUploadProgress(_classPrivateFieldGet(_this, _uploadProgress));
1162
- logger.info("Upload Progress: ".concat(percentCompleted, "%"));
1163
- _classPrivateFieldGet(_this, _fireCallbacks$1).call(_this, UPLOAD_EVENT.onProgress, [percentCompleted]);
1164
- }
1165
- }
1094
+ signal: _classPrivateFieldGet(_this, _abortController).signal
1166
1095
  }
1167
1096
  });
1168
- s3PartUploadPromise.then(function () {
1169
- logger.info("Chunk uploaded for partNumber:", partNumber);
1170
- });
1171
1097
  _classPrivateFieldGet(_this, _s3PartUploadPromises).push(s3PartUploadPromise);
1172
- _context3.next = 20;
1098
+ _context3.next = 13;
1173
1099
  break;
1174
- case 15:
1175
- _context3.prev = 15;
1176
- _context3.t0 = _context3["catch"](4);
1177
- logger.error("Failed to upload partNumber:", partNumber);
1178
- _classPrivateFieldGet(_this, _failedUpload).push(partNumber);
1100
+ case 10:
1101
+ _context3.prev = 10;
1102
+ _context3.t0 = _context3["catch"](1);
1179
1103
  if (!axios.isCancel(_context3.t0)) logger.error(_context3.t0);
1180
- case 20:
1104
+ case 13:
1181
1105
  case "end":
1182
1106
  return _context3.stop();
1183
1107
  }
1184
- }, _callee3, null, [[4, 15]]);
1108
+ }, _callee3, null, [[1, 10]]);
1185
1109
  }));
1186
1110
  function value(_x) {
1187
1111
  return _value.apply(this, arguments);
@@ -1346,7 +1270,6 @@ var _recordingLimitWarningAudio = /*#__PURE__*/new WeakMap();
1346
1270
  var _stopRecordingDueToLimitReachedAudio = /*#__PURE__*/new WeakMap();
1347
1271
  var _stream = /*#__PURE__*/new WeakMap();
1348
1272
  var _audioStream = /*#__PURE__*/new WeakMap();
1349
- var _audioContext = /*#__PURE__*/new WeakMap();
1350
1273
  var _timeLimit = /*#__PURE__*/new WeakMap();
1351
1274
  var _startRecordingTimeoutID = /*#__PURE__*/new WeakMap();
1352
1275
  var _enableNoiseCancellation = /*#__PURE__*/new WeakMap();
@@ -1424,10 +1347,6 @@ var ScreenRecorder = /*#__PURE__*/function () {
1424
1347
  writable: true,
1425
1348
  value: void 0
1426
1349
  });
1427
- _classPrivateFieldInitSpec(this, _audioContext, {
1428
- writable: true,
1429
- value: void 0
1430
- });
1431
1350
  _classPrivateFieldInitSpec(this, _timeLimit, {
1432
1351
  writable: true,
1433
1352
  value: RECORDING_TIME_LIMIT_FREE_PLAN
@@ -1657,56 +1576,56 @@ var ScreenRecorder = /*#__PURE__*/function () {
1657
1576
  writable: true,
1658
1577
  value: function () {
1659
1578
  var _value = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
1660
- var isAudioWorkletLoaded, stream, workletUrl, audioStream, audioStreamSource, destinationStream, noiseSuppressorNode, finalStream, audioContext, desktopAudio, microphoneAudio, combinedAudio;
1579
+ var stream, audioStream, workletUrl, audioContext, audioStreamSource, destinationStream, noiseSuppressorNode, finalStream, _audioContext, desktopAudio, microphoneAudio, combinedAudio;
1661
1580
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
1662
1581
  while (1) switch (_context2.prev = _context2.next) {
1663
1582
  case 0:
1664
1583
  _classPrivateFieldGet(_this, _store).setState({
1665
1584
  status: SCREEN_RECORDER_STATUS.acquiring_media
1666
1585
  });
1667
- isAudioWorkletLoaded = false;
1668
- _context2.prev = 2;
1586
+ _context2.prev = 1;
1669
1587
  if (!_classPrivateFieldGet(_this, _audio)) {
1670
- _context2.next = 19;
1588
+ _context2.next = 24;
1671
1589
  break;
1672
1590
  }
1673
- _classPrivateFieldSet(_this, _audioContext, new AudioContext());
1674
- _context2.prev = 5;
1675
- workletUrl = IS_EXTENSION ? chrome.runtime.getURL("public/NoiseSuppressorWorklet.js") : "NoiseSuppressorWorklet.js";
1676
- _context2.next = 9;
1677
- return _classPrivateFieldGet(_this, _audioContext).audioWorklet.addModule(workletUrl);
1678
- case 9:
1679
- isAudioWorkletLoaded = true;
1680
- _context2.next = 15;
1681
- break;
1682
- case 12:
1683
- _context2.prev = 12;
1684
- _context2.t0 = _context2["catch"](5);
1685
- console.error("Failed to load audio worklet:", _context2.t0);
1686
- case 15:
1687
- _context2.next = 17;
1591
+ _context2.next = 5;
1688
1592
  return window.navigator.mediaDevices.getUserMedia({
1689
- audio: _classPrivateFieldGet(_this, _audio) ? _classPrivateFieldGet(_this, _audio) : false
1593
+ audio: _classPrivateFieldGet(_this, _audio) ? _objectSpread({
1594
+ echoCancellation: false
1595
+ }, _classPrivateFieldGet(_this, _audio)) : false
1690
1596
  });
1691
- case 17:
1597
+ case 5:
1692
1598
  audioStream = _context2.sent;
1693
- if (isAudioWorkletLoaded && _classPrivateFieldGet(_this, _enableNoiseCancellation)) {
1694
- audioStreamSource = _classPrivateFieldGet(_this, _audioContext).createMediaStreamSource(audioStream);
1695
- destinationStream = _classPrivateFieldGet(_this, _audioContext).createMediaStreamDestination();
1696
- noiseSuppressorNode = new AudioWorkletNode(_classPrivateFieldGet(_this, _audioContext), "nn-suppressor-processor");
1697
- audioStreamSource.connect(noiseSuppressorNode);
1698
- noiseSuppressorNode.connect(destinationStream);
1699
- _classPrivateFieldSet(_this, _audioStream, destinationStream.stream);
1700
- } else {
1701
- _classPrivateFieldSet(_this, _audioStream, audioStream);
1599
+ _classPrivateFieldSet(_this, _audioStream, audioStream);
1600
+ if (!_classPrivateFieldGet(_this, _enableNoiseCancellation)) {
1601
+ _context2.next = 24;
1602
+ break;
1702
1603
  }
1703
- case 19:
1704
- _context2.next = 21;
1604
+ _context2.prev = 8;
1605
+ workletUrl = IS_EXTENSION ? chrome.runtime.getURL("public/NoiseSuppressorWorklet.js") : "NoiseSuppressorWorklet.js";
1606
+ audioContext = new AudioContext();
1607
+ _context2.next = 13;
1608
+ return audioContext.audioWorklet.addModule(workletUrl);
1609
+ case 13:
1610
+ audioStreamSource = audioContext.createMediaStreamSource(audioStream);
1611
+ destinationStream = audioContext.createMediaStreamDestination();
1612
+ noiseSuppressorNode = new AudioWorkletNode(audioContext, "nn-suppressor-processor");
1613
+ audioStreamSource.connect(noiseSuppressorNode);
1614
+ noiseSuppressorNode.connect(destinationStream);
1615
+ _classPrivateFieldSet(_this, _audioStream, destinationStream.stream);
1616
+ _context2.next = 24;
1617
+ break;
1618
+ case 21:
1619
+ _context2.prev = 21;
1620
+ _context2.t0 = _context2["catch"](8);
1621
+ console.error("Failed to load audio worklet:", _context2.t0);
1622
+ case 24:
1623
+ _context2.next = 26;
1705
1624
  return window.navigator.mediaDevices.getDisplayMedia({
1706
1625
  video: _classPrivateFieldGet(_this, _video) || true,
1707
1626
  audio: true
1708
1627
  });
1709
- case 21:
1628
+ case 26:
1710
1629
  stream = _context2.sent;
1711
1630
  // Event triggered when the user clicks on the stop sharing overlay button
1712
1631
  stream.getVideoTracks()[0].addEventListener("ended", function () {
@@ -1715,10 +1634,10 @@ var ScreenRecorder = /*#__PURE__*/function () {
1715
1634
  finalStream = new MediaStream();
1716
1635
  if (_classPrivateFieldGet(_this, _audio) && _classPrivateFieldGet(_this, _audioStream)) {
1717
1636
  if (isNotEmpty(stream.getAudioTracks())) {
1718
- audioContext = new AudioContext();
1719
- desktopAudio = audioContext.createMediaStreamSource(stream);
1720
- microphoneAudio = audioContext.createMediaStreamSource(_classPrivateFieldGet(_this, _audioStream));
1721
- combinedAudio = audioContext.createMediaStreamDestination();
1637
+ _audioContext = new AudioContext();
1638
+ desktopAudio = _audioContext.createMediaStreamSource(stream);
1639
+ microphoneAudio = _audioContext.createMediaStreamSource(_classPrivateFieldGet(_this, _audioStream));
1640
+ combinedAudio = _audioContext.createMediaStreamDestination();
1722
1641
  desktopAudio.connect(combinedAudio);
1723
1642
  microphoneAudio.connect(combinedAudio);
1724
1643
  combinedAudio.stream.getAudioTracks().forEach(function (track) {
@@ -1738,11 +1657,11 @@ var ScreenRecorder = /*#__PURE__*/function () {
1738
1657
  _classPrivateFieldGet(_this, _store).setState({
1739
1658
  status: SCREEN_RECORDER_STATUS.media_acquired
1740
1659
  });
1741
- _context2.next = 34;
1660
+ _context2.next = 39;
1742
1661
  break;
1743
- case 31:
1744
- _context2.prev = 31;
1745
- _context2.t1 = _context2["catch"](2);
1662
+ case 36:
1663
+ _context2.prev = 36;
1664
+ _context2.t1 = _context2["catch"](1);
1746
1665
  if (_classPrivateFieldGet(_this, _audio) && !_classPrivateFieldGet(_this, _audioStream)) {
1747
1666
  _classPrivateFieldGet(_this, _store).setState({
1748
1667
  error: SCREEN_RECORDER_ERROR.MicPermissionDenied,
@@ -1754,11 +1673,11 @@ var ScreenRecorder = /*#__PURE__*/function () {
1754
1673
  status: SCREEN_RECORDER_STATUS.idle
1755
1674
  });
1756
1675
  }
1757
- case 34:
1676
+ case 39:
1758
1677
  case "end":
1759
1678
  return _context2.stop();
1760
1679
  }
1761
- }, _callee2, null, [[2, 31], [5, 12]]);
1680
+ }, _callee2, null, [[1, 36], [8, 21]]);
1762
1681
  }));
1763
1682
  function value() {
1764
1683
  return _value.apply(this, arguments);
@@ -1811,7 +1730,6 @@ var ScreenRecorder = /*#__PURE__*/function () {
1811
1730
  _classPrivateFieldInitSpec(this, _countdownAndStartRecording, {
1812
1731
  writable: true,
1813
1732
  value: function value() {
1814
- if (_classPrivateFieldGet(_this, _mediaRecorder).state === "recording") return;
1815
1733
  _classPrivateFieldSet(_this, _countdownTimerId, setInterval(function () {
1816
1734
  _classPrivateFieldGet(_this, _store).setState(function (_ref3) {
1817
1735
  var countdownTimeLeft = _ref3.countdownTimeLeft;
@@ -1828,9 +1746,23 @@ var ScreenRecorder = /*#__PURE__*/function () {
1828
1746
  });
1829
1747
  clearInterval(_classPrivateFieldGet(_this, _countdownTimerId));
1830
1748
  _classPrivateFieldSet(_this, _startRecordingTimeoutID, setTimeout(function () {
1831
- if (_classPrivateFieldGet(_this, _mediaRecorder).state === "recording") return;
1832
- _classPrivateFieldGet(_this, _mediaRecorder).start(5000);
1833
- _classPrivateFieldGet(_this, _startTimer).call(_this);
1749
+ try {
1750
+ _classPrivateFieldGet(_this, _mediaRecorder).start(5000);
1751
+ _classPrivateFieldGet(_this, _startTimer).call(_this);
1752
+ } catch (error) {
1753
+ _classPrivateFieldGet(_this, _store).setState({
1754
+ status: SCREEN_RECORDER_STATUS.idle,
1755
+ error: SCREEN_RECORDER_ERROR[error.name]
1756
+ });
1757
+ _classPrivateFieldGet(_this, _fireCallbacks).call(_this, SCREEN_RECORDER_EVENT.onError, [error]);
1758
+ _classPrivateFieldGet(_this, _mediaStream).getVideoTracks()[0].stop();
1759
+ _classPrivateFieldGet(_this, _mediaStream).getAudioTracks()[0].stop();
1760
+ _classPrivateFieldSet(_this, _mediaStream, null);
1761
+ _classPrivateFieldSet(_this, _stream, null);
1762
+ _classPrivateFieldSet(_this, _audioStream, null);
1763
+ _classPrivateFieldSet(_this, _mediaRecorder, null);
1764
+ throw error;
1765
+ }
1834
1766
  }, HALF_A_SECOND_IN_MILLISECONDS));
1835
1767
  return {
1836
1768
  countdownTimeLeft: 0