@bigbinary/neeto-media-recorder 1.0.8 → 1.0.9
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/core.js +43 -25
- package/core.js.map +1 -1
- package/index.js +84 -61
- package/index.js.map +1 -1
- package/package.json +6 -1
package/core.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
2
|
import { isPresent, isNot, existsBy, isNotEmpty } from '@bigbinary/neeto-cist';
|
|
3
|
-
import { isNotNil, min, identity, isNil, pick } from 'ramda';
|
|
4
|
-
import platform from 'platform';
|
|
5
3
|
import { RETRIABLE_ERRORS, UPLOAD_EVENT, UPLOAD_STATUS, SCREEN_RECORDER_STATUS, SCREEN_RECORDER_ERROR, SCREEN_RECORDER_EVENT, ONE_SECOND, ONE_SECOND_IN_MILLISECONDS } from '@bigbinary/neeto-media-recorder/constants';
|
|
4
|
+
import { isNotNil, min, identity, isEmpty, isNil, pick } from 'ramda';
|
|
5
|
+
import platform from 'platform';
|
|
6
6
|
import withImmutableActions from '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
|
|
7
7
|
import { create as create$3 } from 'zustand';
|
|
8
8
|
|
|
@@ -683,10 +683,15 @@ var _pendingS3ChunkUploads = /*#__PURE__*/new WeakMap();
|
|
|
683
683
|
var _fireCallbacks$1 = /*#__PURE__*/new WeakMap();
|
|
684
684
|
var _uploadChunkToS = /*#__PURE__*/new WeakMap();
|
|
685
685
|
var _getCurrentUnUploadedBlob = /*#__PURE__*/new WeakMap();
|
|
686
|
+
var _isNotInitialized = /*#__PURE__*/new WeakMap();
|
|
686
687
|
var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
687
688
|
function MultipartS3Uploader() {
|
|
688
689
|
var _this = this;
|
|
689
690
|
_classCallCheck(this, MultipartS3Uploader);
|
|
691
|
+
_classPrivateFieldInitSpec$1(this, _isNotInitialized, {
|
|
692
|
+
get: _get_isNotInitialized,
|
|
693
|
+
set: void 0
|
|
694
|
+
});
|
|
690
695
|
_defineProperty(this, "MIN_UPLOAD_CHUNK_SIZE", 5 * 1024 * 1024);
|
|
691
696
|
_classPrivateFieldInitSpec$1(this, _recordingId, {
|
|
692
697
|
writable: true,
|
|
@@ -733,6 +738,7 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
733
738
|
if (data.size > 0) {
|
|
734
739
|
_classPrivateFieldGet(_this, _unUploadedChunks).push(data);
|
|
735
740
|
}
|
|
741
|
+
if (_classPrivateFieldGet(_this, _isNotInitialized)) return;
|
|
736
742
|
logger.info("Current unuploaded data size is ", _classPrivateFieldGet(_this, _getCurrentUnUploadedBlob).call(_this).size / 1024 / 1024, "MB");
|
|
737
743
|
if (_classPrivateFieldGet(_this, _getCurrentUnUploadedBlob).call(_this).size > _this.MIN_UPLOAD_CHUNK_SIZE) {
|
|
738
744
|
var uploadChunkToS3Promise = _classPrivateFieldGet(_this, _uploadChunkToS).call(_this, _classPrivateFieldGet(_this, _unUploadedChunks));
|
|
@@ -749,7 +755,12 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
749
755
|
_classPrivateFieldGet(_this, _store$1).setState({
|
|
750
756
|
status: UPLOAD_STATUS.uploading
|
|
751
757
|
});
|
|
752
|
-
|
|
758
|
+
if (!_classPrivateFieldGet(_this, _isNotInitialized)) {
|
|
759
|
+
_context.next = 4;
|
|
760
|
+
break;
|
|
761
|
+
}
|
|
762
|
+
return _context.abrupt("return");
|
|
763
|
+
case 4:
|
|
753
764
|
// Upload last chunk; only if last chunk has data
|
|
754
765
|
if (_classPrivateFieldGet(_this, _getCurrentUnUploadedBlob).call(_this).size > 0) {
|
|
755
766
|
uploadChunkToS3Promise = _classPrivateFieldGet(_this, _uploadChunkToS).call(_this, _classPrivateFieldGet(_this, _unUploadedChunks));
|
|
@@ -764,12 +775,12 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
764
775
|
* adding the new presignedUrl part upload to s3PartUploadPromises.
|
|
765
776
|
* This results in incorrect partNumbers.
|
|
766
777
|
*/
|
|
767
|
-
_context.next = 5;
|
|
768
|
-
return Promise.all(_classPrivateFieldGet(_this, _pendingS3ChunkUploads));
|
|
769
|
-
case 5:
|
|
770
778
|
_context.next = 7;
|
|
771
|
-
return Promise.all(_classPrivateFieldGet(_this,
|
|
779
|
+
return Promise.all(_classPrivateFieldGet(_this, _pendingS3ChunkUploads));
|
|
772
780
|
case 7:
|
|
781
|
+
_context.next = 9;
|
|
782
|
+
return Promise.all(_classPrivateFieldGet(_this, _s3PartUploadPromises));
|
|
783
|
+
case 9:
|
|
773
784
|
resolvedS3PartUploadPromises = _context.sent;
|
|
774
785
|
parts = resolvedS3PartUploadPromises.map(function (resolvedResponse) {
|
|
775
786
|
return {
|
|
@@ -779,7 +790,7 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
779
790
|
}).toSorted(function (a, b) {
|
|
780
791
|
return Number(a.partNumber) - Number(b.partNumber);
|
|
781
792
|
});
|
|
782
|
-
_context.next =
|
|
793
|
+
_context.next = 13;
|
|
783
794
|
return completeUploadApi.create({
|
|
784
795
|
recordingId: _classPrivateFieldGet(_this, _recordingId),
|
|
785
796
|
payload: {
|
|
@@ -787,24 +798,24 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
787
798
|
uploadId: _classPrivateFieldGet(_this, _uploadId)
|
|
788
799
|
}
|
|
789
800
|
});
|
|
790
|
-
case
|
|
791
|
-
_context.next =
|
|
801
|
+
case 13:
|
|
802
|
+
_context.next = 15;
|
|
792
803
|
return _classPrivateFieldGet(_this, _store$1).setState({
|
|
793
804
|
status: UPLOAD_STATUS.completed
|
|
794
805
|
});
|
|
795
|
-
case
|
|
806
|
+
case 15:
|
|
796
807
|
_classPrivateFieldGet(_this, _fireCallbacks$1).call(_this, UPLOAD_EVENT.onComplete);
|
|
797
|
-
_context.next =
|
|
808
|
+
_context.next = 21;
|
|
798
809
|
break;
|
|
799
|
-
case
|
|
800
|
-
_context.prev =
|
|
810
|
+
case 18:
|
|
811
|
+
_context.prev = 18;
|
|
801
812
|
_context.t0 = _context["catch"](0);
|
|
802
813
|
logger.error(_context.t0);
|
|
803
|
-
case
|
|
814
|
+
case 21:
|
|
804
815
|
case "end":
|
|
805
816
|
return _context.stop();
|
|
806
817
|
}
|
|
807
|
-
}, _callee, null, [[0,
|
|
818
|
+
}, _callee, null, [[0, 18]]);
|
|
808
819
|
})));
|
|
809
820
|
_defineProperty(this, "abortUpload", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
810
821
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
@@ -814,15 +825,21 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
814
825
|
_classPrivateFieldGet(_this, _store$1).setState({
|
|
815
826
|
status: UPLOAD_STATUS.aborting
|
|
816
827
|
});
|
|
828
|
+
if (!_classPrivateFieldGet(_this, _isNotInitialized)) {
|
|
829
|
+
_context2.next = 4;
|
|
830
|
+
break;
|
|
831
|
+
}
|
|
832
|
+
return _context2.abrupt("return");
|
|
833
|
+
case 4:
|
|
817
834
|
_classPrivateFieldGet(_this, _abortController).abort();
|
|
818
|
-
_context2.next =
|
|
835
|
+
_context2.next = 7;
|
|
819
836
|
return abortUploadApi.create({
|
|
820
837
|
recordingId: _classPrivateFieldGet(_this, _recordingId),
|
|
821
838
|
payload: {
|
|
822
839
|
uploadId: _classPrivateFieldGet(_this, _uploadId)
|
|
823
840
|
}
|
|
824
841
|
});
|
|
825
|
-
case
|
|
842
|
+
case 7:
|
|
826
843
|
_classPrivateFieldSet(_this, _unUploadedChunks, []);
|
|
827
844
|
_classPrivateFieldSet(_this, _partNumber, 1);
|
|
828
845
|
_classPrivateFieldSet(_this, _s3PartUploadPromises, []);
|
|
@@ -830,17 +847,17 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
830
847
|
status: ""
|
|
831
848
|
});
|
|
832
849
|
_classPrivateFieldSet(_this, _abortController, null);
|
|
833
|
-
_context2.next =
|
|
850
|
+
_context2.next = 17;
|
|
834
851
|
break;
|
|
835
|
-
case
|
|
836
|
-
_context2.prev =
|
|
852
|
+
case 14:
|
|
853
|
+
_context2.prev = 14;
|
|
837
854
|
_context2.t0 = _context2["catch"](0);
|
|
838
855
|
logger.error(_context2.t0);
|
|
839
|
-
case
|
|
856
|
+
case 17:
|
|
840
857
|
case "end":
|
|
841
858
|
return _context2.stop();
|
|
842
859
|
}
|
|
843
|
-
}, _callee2, null, [[0,
|
|
860
|
+
}, _callee2, null, [[0, 14]]);
|
|
844
861
|
})));
|
|
845
862
|
_defineProperty(this, "resetState", function () {
|
|
846
863
|
_classPrivateFieldSet(_this, _recordingId, "");
|
|
@@ -913,8 +930,6 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
913
930
|
_context3.t0 = _context3["catch"](1);
|
|
914
931
|
if (!axios.isCancel(_context3.t0)) logger.error(_context3.t0);
|
|
915
932
|
case 13:
|
|
916
|
-
return _context3.abrupt("return");
|
|
917
|
-
case 14:
|
|
918
933
|
case "end":
|
|
919
934
|
return _context3.stop();
|
|
920
935
|
}
|
|
@@ -946,6 +961,9 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
|
|
|
946
961
|
}]);
|
|
947
962
|
return MultipartS3Uploader;
|
|
948
963
|
}();
|
|
964
|
+
function _get_isNotInitialized() {
|
|
965
|
+
return isEmpty(_classPrivateFieldGet(this, _uploadId) + _classPrivateFieldGet(this, _recordingId));
|
|
966
|
+
}
|
|
949
967
|
var multipartS3Uploader = new MultipartS3Uploader();
|
|
950
968
|
|
|
951
969
|
// https://www.w3.org/TR/screen-capture/#displaycapturesurfacetype
|