@bigbinary/neeto-media-recorder 2.1.6-beta.3 → 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 +5 -6
- package/constants.js.map +1 -1
- package/core.js +102 -172
- package/core.js.map +1 -1
- package/index.js +21 -2
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/src/translations/en.json +3 -1
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,10 +65,9 @@ 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
|
-
var TOTAL_RETRIES =
|
|
70
|
+
var TOTAL_RETRIES = 30;
|
|
72
71
|
var INITIAL_RETRY_DELAY = 4000;
|
|
73
72
|
var MAX_RETRY_DELAY = 16000;
|
|
74
73
|
var DEFAULT_RETRY_CONFIG = {
|
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 = {
|
|
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
|
@@ -629,7 +629,7 @@ function _wrapNativeSuper(Class) {
|
|
|
629
629
|
return _wrapNativeSuper(Class);
|
|
630
630
|
}
|
|
631
631
|
|
|
632
|
-
var TOTAL_RETRIES =
|
|
632
|
+
var TOTAL_RETRIES = 30;
|
|
633
633
|
var INITIAL_RETRY_DELAY = 4000;
|
|
634
634
|
var MAX_RETRY_DELAY = 16000;
|
|
635
635
|
var DEFAULT_RETRY_CONFIG = {
|
|
@@ -690,7 +690,7 @@ var buildRetryableApi = function buildRetryableApi(apiConnector) {
|
|
|
690
690
|
});
|
|
691
691
|
case 4:
|
|
692
692
|
if (!(remainingAttempts-- && !shouldCancelRetries)) {
|
|
693
|
-
_context.next =
|
|
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 =
|
|
707
|
+
_context.next = 21;
|
|
709
708
|
break;
|
|
710
709
|
}
|
|
711
|
-
|
|
712
|
-
_context.next = 20;
|
|
710
|
+
_context.next = 18;
|
|
713
711
|
return sleep(retryDelay);
|
|
714
|
-
case
|
|
712
|
+
case 18:
|
|
715
713
|
retryDelay = min(retryDelay * 2, MAX_RETRY_DELAY);
|
|
716
|
-
_context.next =
|
|
714
|
+
_context.next = 22;
|
|
717
715
|
break;
|
|
718
|
-
case
|
|
716
|
+
case 21:
|
|
719
717
|
throw _context.t0;
|
|
720
|
-
case
|
|
718
|
+
case 22:
|
|
721
719
|
_context.next = 4;
|
|
722
720
|
break;
|
|
723
|
-
case
|
|
721
|
+
case 24:
|
|
724
722
|
throw new RetryError("Request cancelled or request retries exhausted");
|
|
725
|
-
case
|
|
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);
|
|
@@ -929,7 +908,6 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
929
908
|
case 4:
|
|
930
909
|
// Upload last chunk; only if last chunk has data
|
|
931
910
|
if (_classPrivateFieldGet(_this, _getCurrentUnUploadedBlob).call(_this).size > 0) {
|
|
932
|
-
logger.info("completeUpload -> need to upload last chunk");
|
|
933
911
|
uploadChunkToS3Promise = _classPrivateFieldGet(_this, _uploadChunkToS).call(_this, _classPrivateFieldGet(_this, _unUploadedChunks));
|
|
934
912
|
_classPrivateFieldGet(_this, _pendingS3ChunkUploads).push(uploadChunkToS3Promise);
|
|
935
913
|
}
|
|
@@ -942,36 +920,22 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
942
920
|
* adding the new presignedUrl part upload to s3PartUploadPromises.
|
|
943
921
|
* This results in incorrect partNumbers.
|
|
944
922
|
*/
|
|
945
|
-
|
|
946
|
-
_context.next = 8;
|
|
923
|
+
_context.next = 7;
|
|
947
924
|
return Promise.all(_classPrivateFieldGet(_this, _pendingS3ChunkUploads));
|
|
948
|
-
case
|
|
949
|
-
|
|
950
|
-
_context.next = 11;
|
|
925
|
+
case 7:
|
|
926
|
+
_context.next = 9;
|
|
951
927
|
return Promise.all(_classPrivateFieldGet(_this, _s3PartUploadPromises));
|
|
952
|
-
case
|
|
928
|
+
case 9:
|
|
953
929
|
resolvedS3PartUploadPromises = _context.sent;
|
|
954
|
-
if (!isNotEmpty(_classPrivateFieldGet(_this, _failedUpload))) {
|
|
955
|
-
_context.next = 17;
|
|
956
|
-
break;
|
|
957
|
-
}
|
|
958
|
-
logger.info("completeUpload -> chunks with these partNumbers failed:", _classPrivateFieldGet(_this, _failedUpload));
|
|
959
|
-
_classPrivateFieldGet(_this, _fireCallbacks$1).call(_this, UPLOAD_EVENT.onError);
|
|
960
|
-
_classPrivateFieldGet(_this, _store$1).setState({
|
|
961
|
-
status: UPLOAD_STATUS.error
|
|
962
|
-
});
|
|
963
|
-
return _context.abrupt("return");
|
|
964
|
-
case 17:
|
|
965
930
|
if (!(resolvedS3PartUploadPromises.length === 0)) {
|
|
966
|
-
_context.next =
|
|
931
|
+
_context.next = 13;
|
|
967
932
|
break;
|
|
968
933
|
}
|
|
969
|
-
logger.info("completeUpload -> insufficient data");
|
|
970
934
|
_classPrivateFieldGet(_this, _store$1).setState({
|
|
971
935
|
status: UPLOAD_STATUS.insufficient_data
|
|
972
936
|
});
|
|
973
937
|
return _context.abrupt("return");
|
|
974
|
-
case
|
|
938
|
+
case 13:
|
|
975
939
|
parts = resolvedS3PartUploadPromises.filter(isNotCancelledRequest).map(function (resolvedResponse) {
|
|
976
940
|
return {
|
|
977
941
|
etag: resolvedResponse.headers.etag,
|
|
@@ -980,7 +944,6 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
980
944
|
}).toSorted(function (a, b) {
|
|
981
945
|
return Number(a.partNumber) - Number(b.partNumber);
|
|
982
946
|
});
|
|
983
|
-
logger.info("completeUpload -> uploaded parts: ", parts);
|
|
984
947
|
_classPrivateFieldSet(_this, _completeUploadPromise, completeUploadApi.create({
|
|
985
948
|
recordingId: _classPrivateFieldGet(_this, _recordingId),
|
|
986
949
|
payload: {
|
|
@@ -991,44 +954,34 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
991
954
|
signal: _classPrivateFieldGet(_this, _abortController).signal
|
|
992
955
|
}
|
|
993
956
|
}));
|
|
994
|
-
|
|
995
|
-
_context.next = 27;
|
|
957
|
+
_context.next = 17;
|
|
996
958
|
return _classPrivateFieldGet(_this, _completeUploadPromise);
|
|
997
|
-
case
|
|
998
|
-
logger.info("completeUpload -> upload completed");
|
|
959
|
+
case 17:
|
|
999
960
|
if (!(_classPrivateFieldGet(_this, _store$1).getState().status === UPLOAD_STATUS.aborting)) {
|
|
1000
|
-
_context.next =
|
|
961
|
+
_context.next = 19;
|
|
1001
962
|
break;
|
|
1002
963
|
}
|
|
1003
|
-
logger.info("completeUpload -> upload was marked as aborted");
|
|
1004
964
|
return _context.abrupt("return");
|
|
1005
|
-
case
|
|
965
|
+
case 19:
|
|
1006
966
|
_classPrivateFieldGet(_this, _store$1).setState({
|
|
1007
967
|
status: UPLOAD_STATUS.completed
|
|
1008
968
|
});
|
|
1009
969
|
_classPrivateFieldGet(_this, _fireCallbacks$1).call(_this, UPLOAD_EVENT.onComplete);
|
|
1010
|
-
_context.next =
|
|
970
|
+
_context.next = 26;
|
|
1011
971
|
break;
|
|
1012
|
-
case
|
|
1013
|
-
_context.prev =
|
|
972
|
+
case 23:
|
|
973
|
+
_context.prev = 23;
|
|
1014
974
|
_context.t0 = _context["catch"](0);
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
status: UPLOAD_STATUS.error
|
|
1019
|
-
});
|
|
1020
|
-
_classPrivateFieldGet(_this, _fireCallbacks$1).call(_this, UPLOAD_EVENT.onError);
|
|
1021
|
-
logger.error(_context.t0);
|
|
1022
|
-
}
|
|
1023
|
-
case 38:
|
|
1024
|
-
_context.prev = 38;
|
|
975
|
+
logger.error(_context.t0);
|
|
976
|
+
case 26:
|
|
977
|
+
_context.prev = 26;
|
|
1025
978
|
_classPrivateFieldSet(_this, _completeUploadPromise, null);
|
|
1026
|
-
return _context.finish(
|
|
1027
|
-
case
|
|
979
|
+
return _context.finish(26);
|
|
980
|
+
case 29:
|
|
1028
981
|
case "end":
|
|
1029
982
|
return _context.stop();
|
|
1030
983
|
}
|
|
1031
|
-
}, _callee, null, [[0,
|
|
984
|
+
}, _callee, null, [[0, 23, 26, 29]]);
|
|
1032
985
|
})));
|
|
1033
986
|
_defineProperty(this, "abortUpload", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
1034
987
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
@@ -1082,8 +1035,6 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1082
1035
|
_classPrivateFieldSet(_this, _partNumber, 1);
|
|
1083
1036
|
_classPrivateFieldSet(_this, _s3PartUploadPromises, []);
|
|
1084
1037
|
_classPrivateFieldSet(_this, _callbacks$1, {});
|
|
1085
|
-
_classPrivateFieldSet(_this, _failedUpload, []);
|
|
1086
|
-
_classPrivateFieldSet(_this, _uploadProgress, {});
|
|
1087
1038
|
_classPrivateFieldGet(_this, _store$1).setState({
|
|
1088
1039
|
status: ""
|
|
1089
1040
|
});
|
|
@@ -1113,36 +1064,26 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1113
1064
|
writable: true,
|
|
1114
1065
|
value: function () {
|
|
1115
1066
|
var _value = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(chunks) {
|
|
1116
|
-
var _this$partNumber;
|
|
1117
|
-
var partNumber, _yield$partPresignedU, presignedUrl, s3PartUploadPromise;
|
|
1067
|
+
var _this$partNumber, _this$partNumber2, _yield$partPresignedU, presignedUrl, s3PartUploadPromise;
|
|
1118
1068
|
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
1119
1069
|
while (1) switch (_context3.prev = _context3.next) {
|
|
1120
1070
|
case 0:
|
|
1121
1071
|
logger.info("Part ready to be uploaded: ", _classPrivateFieldGet(_this, _partNumber));
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
_classPrivateFieldGet(_this, _uploadProgress)[partNumber] = {
|
|
1125
|
-
uploaded: 0,
|
|
1126
|
-
total: new Blob(chunks, {
|
|
1127
|
-
type: MIME_TYPE.webmH264
|
|
1128
|
-
}).size
|
|
1129
|
-
};
|
|
1130
|
-
_context3.prev = 4;
|
|
1131
|
-
_context3.next = 7;
|
|
1072
|
+
_context3.prev = 1;
|
|
1073
|
+
_context3.next = 4;
|
|
1132
1074
|
return partPresignedUrlApi.create({
|
|
1133
1075
|
recordingId: _classPrivateFieldGet(_this, _recordingId),
|
|
1134
1076
|
payload: {
|
|
1135
|
-
partNumber: partNumber,
|
|
1077
|
+
partNumber: (_classPrivateFieldSet(_this, _partNumber, (_this$partNumber = _classPrivateFieldGet(_this, _partNumber), _this$partNumber2 = _this$partNumber++, _this$partNumber)), _this$partNumber2),
|
|
1136
1078
|
uploadId: _classPrivateFieldGet(_this, _uploadId)
|
|
1137
1079
|
},
|
|
1138
1080
|
config: {
|
|
1139
1081
|
signal: _classPrivateFieldGet(_this, _abortController).signal
|
|
1140
1082
|
}
|
|
1141
1083
|
});
|
|
1142
|
-
case
|
|
1084
|
+
case 4:
|
|
1143
1085
|
_yield$partPresignedU = _context3.sent;
|
|
1144
1086
|
presignedUrl = _yield$partPresignedU.presignedUrl;
|
|
1145
|
-
logger.info("Presigned url created for partNumber:", partNumber);
|
|
1146
1087
|
s3PartUploadPromise = s3Api.presignedUpload({
|
|
1147
1088
|
presignedUrl: presignedUrl,
|
|
1148
1089
|
blob: new Blob(chunks, {
|
|
@@ -1150,40 +1091,21 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
1150
1091
|
}),
|
|
1151
1092
|
config: {
|
|
1152
1093
|
includeMetadataInResponse: true,
|
|
1153
|
-
signal: _classPrivateFieldGet(_this, _abortController).signal
|
|
1154
|
-
onUploadProgress: function onUploadProgress(e) {
|
|
1155
|
-
_classPrivateFieldGet(_this, _uploadProgress)[partNumber] = {
|
|
1156
|
-
uploaded: e.loaded,
|
|
1157
|
-
total: e.total
|
|
1158
|
-
};
|
|
1159
|
-
if (_classPrivateFieldGet(_this, _store$1).getState().status === UPLOAD_STATUS.uploading) {
|
|
1160
|
-
var percentCompleted = calculateUploadProgress(_classPrivateFieldGet(_this, _uploadProgress));
|
|
1161
|
-
logger.info("Upload Progress: ".concat(percentCompleted, "%"));
|
|
1162
|
-
_classPrivateFieldGet(_this, _fireCallbacks$1).call(_this, UPLOAD_EVENT.onProgress, [percentCompleted]);
|
|
1163
|
-
}
|
|
1164
|
-
}
|
|
1094
|
+
signal: _classPrivateFieldGet(_this, _abortController).signal
|
|
1165
1095
|
}
|
|
1166
1096
|
});
|
|
1167
1097
|
_classPrivateFieldGet(_this, _s3PartUploadPromises).push(s3PartUploadPromise);
|
|
1168
|
-
_context3.next =
|
|
1098
|
+
_context3.next = 13;
|
|
1169
1099
|
break;
|
|
1170
|
-
case
|
|
1171
|
-
_context3.prev =
|
|
1172
|
-
_context3.t0 = _context3["catch"](
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
logger.error("Failed to upload partNumber:", partNumber);
|
|
1176
|
-
if (_classPrivateFieldGet(_this, _store$1).getState().status === UPLOAD_STATUS.uploading) {
|
|
1177
|
-
_classPrivateFieldGet(_this, _fireCallbacks$1).call(_this, UPLOAD_EVENT.onError);
|
|
1178
|
-
} else {
|
|
1179
|
-
_classPrivateFieldGet(_this, _failedUpload).push(partNumber);
|
|
1180
|
-
}
|
|
1181
|
-
}
|
|
1182
|
-
case 17:
|
|
1100
|
+
case 10:
|
|
1101
|
+
_context3.prev = 10;
|
|
1102
|
+
_context3.t0 = _context3["catch"](1);
|
|
1103
|
+
if (!axios.isCancel(_context3.t0)) logger.error(_context3.t0);
|
|
1104
|
+
case 13:
|
|
1183
1105
|
case "end":
|
|
1184
1106
|
return _context3.stop();
|
|
1185
1107
|
}
|
|
1186
|
-
}, _callee3, null, [[
|
|
1108
|
+
}, _callee3, null, [[1, 10]]);
|
|
1187
1109
|
}));
|
|
1188
1110
|
function value(_x) {
|
|
1189
1111
|
return _value.apply(this, arguments);
|
|
@@ -1348,7 +1270,6 @@ var _recordingLimitWarningAudio = /*#__PURE__*/new WeakMap();
|
|
|
1348
1270
|
var _stopRecordingDueToLimitReachedAudio = /*#__PURE__*/new WeakMap();
|
|
1349
1271
|
var _stream = /*#__PURE__*/new WeakMap();
|
|
1350
1272
|
var _audioStream = /*#__PURE__*/new WeakMap();
|
|
1351
|
-
var _audioContext = /*#__PURE__*/new WeakMap();
|
|
1352
1273
|
var _timeLimit = /*#__PURE__*/new WeakMap();
|
|
1353
1274
|
var _startRecordingTimeoutID = /*#__PURE__*/new WeakMap();
|
|
1354
1275
|
var _enableNoiseCancellation = /*#__PURE__*/new WeakMap();
|
|
@@ -1426,10 +1347,6 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1426
1347
|
writable: true,
|
|
1427
1348
|
value: void 0
|
|
1428
1349
|
});
|
|
1429
|
-
_classPrivateFieldInitSpec(this, _audioContext, {
|
|
1430
|
-
writable: true,
|
|
1431
|
-
value: void 0
|
|
1432
|
-
});
|
|
1433
1350
|
_classPrivateFieldInitSpec(this, _timeLimit, {
|
|
1434
1351
|
writable: true,
|
|
1435
1352
|
value: RECORDING_TIME_LIMIT_FREE_PLAN
|
|
@@ -1659,56 +1576,56 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1659
1576
|
writable: true,
|
|
1660
1577
|
value: function () {
|
|
1661
1578
|
var _value = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
1662
|
-
var
|
|
1579
|
+
var stream, audioStream, workletUrl, audioContext, audioStreamSource, destinationStream, noiseSuppressorNode, finalStream, _audioContext, desktopAudio, microphoneAudio, combinedAudio;
|
|
1663
1580
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
1664
1581
|
while (1) switch (_context2.prev = _context2.next) {
|
|
1665
1582
|
case 0:
|
|
1666
1583
|
_classPrivateFieldGet(_this, _store).setState({
|
|
1667
1584
|
status: SCREEN_RECORDER_STATUS.acquiring_media
|
|
1668
1585
|
});
|
|
1669
|
-
|
|
1670
|
-
_context2.prev = 2;
|
|
1586
|
+
_context2.prev = 1;
|
|
1671
1587
|
if (!_classPrivateFieldGet(_this, _audio)) {
|
|
1672
|
-
_context2.next =
|
|
1588
|
+
_context2.next = 24;
|
|
1673
1589
|
break;
|
|
1674
1590
|
}
|
|
1675
|
-
|
|
1676
|
-
_context2.prev = 5;
|
|
1677
|
-
workletUrl = IS_EXTENSION ? chrome.runtime.getURL("public/NoiseSuppressorWorklet.js") : "NoiseSuppressorWorklet.js";
|
|
1678
|
-
_context2.next = 9;
|
|
1679
|
-
return _classPrivateFieldGet(_this, _audioContext).audioWorklet.addModule(workletUrl);
|
|
1680
|
-
case 9:
|
|
1681
|
-
isAudioWorkletLoaded = true;
|
|
1682
|
-
_context2.next = 15;
|
|
1683
|
-
break;
|
|
1684
|
-
case 12:
|
|
1685
|
-
_context2.prev = 12;
|
|
1686
|
-
_context2.t0 = _context2["catch"](5);
|
|
1687
|
-
console.error("Failed to load audio worklet:", _context2.t0);
|
|
1688
|
-
case 15:
|
|
1689
|
-
_context2.next = 17;
|
|
1591
|
+
_context2.next = 5;
|
|
1690
1592
|
return window.navigator.mediaDevices.getUserMedia({
|
|
1691
|
-
audio: _classPrivateFieldGet(_this, _audio) ?
|
|
1593
|
+
audio: _classPrivateFieldGet(_this, _audio) ? _objectSpread({
|
|
1594
|
+
echoCancellation: false
|
|
1595
|
+
}, _classPrivateFieldGet(_this, _audio)) : false
|
|
1692
1596
|
});
|
|
1693
|
-
case
|
|
1597
|
+
case 5:
|
|
1694
1598
|
audioStream = _context2.sent;
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
audioStreamSource.connect(noiseSuppressorNode);
|
|
1700
|
-
noiseSuppressorNode.connect(destinationStream);
|
|
1701
|
-
_classPrivateFieldSet(_this, _audioStream, destinationStream.stream);
|
|
1702
|
-
} else {
|
|
1703
|
-
_classPrivateFieldSet(_this, _audioStream, audioStream);
|
|
1599
|
+
_classPrivateFieldSet(_this, _audioStream, audioStream);
|
|
1600
|
+
if (!_classPrivateFieldGet(_this, _enableNoiseCancellation)) {
|
|
1601
|
+
_context2.next = 24;
|
|
1602
|
+
break;
|
|
1704
1603
|
}
|
|
1705
|
-
|
|
1706
|
-
|
|
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;
|
|
1707
1624
|
return window.navigator.mediaDevices.getDisplayMedia({
|
|
1708
1625
|
video: _classPrivateFieldGet(_this, _video) || true,
|
|
1709
1626
|
audio: true
|
|
1710
1627
|
});
|
|
1711
|
-
case
|
|
1628
|
+
case 26:
|
|
1712
1629
|
stream = _context2.sent;
|
|
1713
1630
|
// Event triggered when the user clicks on the stop sharing overlay button
|
|
1714
1631
|
stream.getVideoTracks()[0].addEventListener("ended", function () {
|
|
@@ -1717,10 +1634,10 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1717
1634
|
finalStream = new MediaStream();
|
|
1718
1635
|
if (_classPrivateFieldGet(_this, _audio) && _classPrivateFieldGet(_this, _audioStream)) {
|
|
1719
1636
|
if (isNotEmpty(stream.getAudioTracks())) {
|
|
1720
|
-
|
|
1721
|
-
desktopAudio =
|
|
1722
|
-
microphoneAudio =
|
|
1723
|
-
combinedAudio =
|
|
1637
|
+
_audioContext = new AudioContext();
|
|
1638
|
+
desktopAudio = _audioContext.createMediaStreamSource(stream);
|
|
1639
|
+
microphoneAudio = _audioContext.createMediaStreamSource(_classPrivateFieldGet(_this, _audioStream));
|
|
1640
|
+
combinedAudio = _audioContext.createMediaStreamDestination();
|
|
1724
1641
|
desktopAudio.connect(combinedAudio);
|
|
1725
1642
|
microphoneAudio.connect(combinedAudio);
|
|
1726
1643
|
combinedAudio.stream.getAudioTracks().forEach(function (track) {
|
|
@@ -1740,11 +1657,11 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1740
1657
|
_classPrivateFieldGet(_this, _store).setState({
|
|
1741
1658
|
status: SCREEN_RECORDER_STATUS.media_acquired
|
|
1742
1659
|
});
|
|
1743
|
-
_context2.next =
|
|
1660
|
+
_context2.next = 39;
|
|
1744
1661
|
break;
|
|
1745
|
-
case
|
|
1746
|
-
_context2.prev =
|
|
1747
|
-
_context2.t1 = _context2["catch"](
|
|
1662
|
+
case 36:
|
|
1663
|
+
_context2.prev = 36;
|
|
1664
|
+
_context2.t1 = _context2["catch"](1);
|
|
1748
1665
|
if (_classPrivateFieldGet(_this, _audio) && !_classPrivateFieldGet(_this, _audioStream)) {
|
|
1749
1666
|
_classPrivateFieldGet(_this, _store).setState({
|
|
1750
1667
|
error: SCREEN_RECORDER_ERROR.MicPermissionDenied,
|
|
@@ -1756,11 +1673,11 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1756
1673
|
status: SCREEN_RECORDER_STATUS.idle
|
|
1757
1674
|
});
|
|
1758
1675
|
}
|
|
1759
|
-
case
|
|
1676
|
+
case 39:
|
|
1760
1677
|
case "end":
|
|
1761
1678
|
return _context2.stop();
|
|
1762
1679
|
}
|
|
1763
|
-
}, _callee2, null, [[
|
|
1680
|
+
}, _callee2, null, [[1, 36], [8, 21]]);
|
|
1764
1681
|
}));
|
|
1765
1682
|
function value() {
|
|
1766
1683
|
return _value.apply(this, arguments);
|
|
@@ -1813,7 +1730,6 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1813
1730
|
_classPrivateFieldInitSpec(this, _countdownAndStartRecording, {
|
|
1814
1731
|
writable: true,
|
|
1815
1732
|
value: function value() {
|
|
1816
|
-
if (_classPrivateFieldGet(_this, _mediaRecorder).state === "recording") return;
|
|
1817
1733
|
_classPrivateFieldSet(_this, _countdownTimerId, setInterval(function () {
|
|
1818
1734
|
_classPrivateFieldGet(_this, _store).setState(function (_ref3) {
|
|
1819
1735
|
var countdownTimeLeft = _ref3.countdownTimeLeft;
|
|
@@ -1830,9 +1746,23 @@ var ScreenRecorder = /*#__PURE__*/function () {
|
|
|
1830
1746
|
});
|
|
1831
1747
|
clearInterval(_classPrivateFieldGet(_this, _countdownTimerId));
|
|
1832
1748
|
_classPrivateFieldSet(_this, _startRecordingTimeoutID, setTimeout(function () {
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
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
|
+
}
|
|
1836
1766
|
}, HALF_A_SECOND_IN_MILLISECONDS));
|
|
1837
1767
|
return {
|
|
1838
1768
|
countdownTimeLeft: 0
|