@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 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, _s3PartUploadPromises));
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 = 11;
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 11:
791
- _context.next = 13;
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 13:
806
+ case 15:
796
807
  _classPrivateFieldGet(_this, _fireCallbacks$1).call(_this, UPLOAD_EVENT.onComplete);
797
- _context.next = 19;
808
+ _context.next = 21;
798
809
  break;
799
- case 16:
800
- _context.prev = 16;
810
+ case 18:
811
+ _context.prev = 18;
801
812
  _context.t0 = _context["catch"](0);
802
813
  logger.error(_context.t0);
803
- case 19:
814
+ case 21:
804
815
  case "end":
805
816
  return _context.stop();
806
817
  }
807
- }, _callee, null, [[0, 16]]);
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 = 5;
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 5:
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 = 15;
850
+ _context2.next = 17;
834
851
  break;
835
- case 12:
836
- _context2.prev = 12;
852
+ case 14:
853
+ _context2.prev = 14;
837
854
  _context2.t0 = _context2["catch"](0);
838
855
  logger.error(_context2.t0);
839
- case 15:
856
+ case 17:
840
857
  case "end":
841
858
  return _context2.stop();
842
859
  }
843
- }, _callee2, null, [[0, 12]]);
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