@bigbinary/neeto-media-recorder 2.7.29-beta.1 → 2.7.30
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 +2 -0
- package/core.js.map +1 -1
- package/index.js +257 -106
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -8,8 +8,10 @@ import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
|
|
|
8
8
|
import Alert from '@bigbinary/neetoui/Alert';
|
|
9
9
|
import { Trans, useTranslation } from 'react-i18next';
|
|
10
10
|
import axios from 'axios';
|
|
11
|
+
import { copyToClipboard } from '@bigbinary/neeto-commons-frontend/utils/general';
|
|
12
|
+
import Toastr from '@bigbinary/neetoui/Toastr';
|
|
11
13
|
import platform from 'platform';
|
|
12
|
-
import { isNotNil
|
|
14
|
+
import { isNotNil } from 'ramda';
|
|
13
15
|
import withT from '@bigbinary/neeto-commons-frontend/react-utils/withT';
|
|
14
16
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
15
17
|
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
@@ -22,7 +24,6 @@ import Pause from '@bigbinary/neeto-icons/Pause';
|
|
|
22
24
|
import Unlock from '@bigbinary/neeto-icons/Unlock';
|
|
23
25
|
import Delete from '@bigbinary/neeto-icons/Delete';
|
|
24
26
|
import Browser from '@bigbinary/neeto-icons/Browser';
|
|
25
|
-
import { copyToClipboard } from '@bigbinary/neeto-commons-frontend/utils/general';
|
|
26
27
|
import Close from '@bigbinary/neeto-icons/Close';
|
|
27
28
|
import Download from '@bigbinary/neeto-icons/Download';
|
|
28
29
|
import Copy from '@bigbinary/neeto-icons/Copy';
|
|
@@ -548,6 +549,11 @@ var getSupportedMimeType = function getSupportedMimeType() {
|
|
|
548
549
|
})) !== null && _candidates$find !== void 0 ? _candidates$find : null;
|
|
549
550
|
};
|
|
550
551
|
|
|
552
|
+
var generatePublicUrl = function generatePublicUrl(recordingId) {
|
|
553
|
+
var baseURL = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.origin;
|
|
554
|
+
return "".concat(baseURL, "/watch/").concat(recordingId);
|
|
555
|
+
};
|
|
556
|
+
|
|
551
557
|
var formatTime = function formatTime(time) {
|
|
552
558
|
return Math.floor(time).toString().padStart(2, "0");
|
|
553
559
|
};
|
|
@@ -659,6 +665,145 @@ var isMp4Supported = function isMp4Supported() {
|
|
|
659
665
|
return mimeType.includes(MIME_TYPE$1.mp4);
|
|
660
666
|
};
|
|
661
667
|
|
|
668
|
+
/**
|
|
669
|
+
* Copy a recording's public link to the clipboard while preserving Safari's
|
|
670
|
+
* transient user activation. Must be invoked synchronously inside a user
|
|
671
|
+
* gesture handler (e.g. button onClick).
|
|
672
|
+
*
|
|
673
|
+
* Safari (WebKit) refuses navigator.clipboard.write[Text] outside a user
|
|
674
|
+
* gesture, so the post-recording auto-copy cannot be done in a useEffect.
|
|
675
|
+
* Since `recording.id` is only known once the create-recording POST resolves,
|
|
676
|
+
* we keep the gesture alive across that wait by handing
|
|
677
|
+
* navigator.clipboard.write a ClipboardItem backed by a Promise<Blob>; Safari
|
|
678
|
+
* preserves the activation until the promise settles.
|
|
679
|
+
*
|
|
680
|
+
* @param {Object} params
|
|
681
|
+
* @param {React.RefObject<Promise<unknown> | null>} params.createRecordingPromise
|
|
682
|
+
* @param {React.RefObject<{ id?: string | number }>} params.recordingRef
|
|
683
|
+
* @param {React.RefObject<string>} params.baseURLRef
|
|
684
|
+
* @param {string} params.successMessage Toastr message shown on success.
|
|
685
|
+
*/
|
|
686
|
+
var copyRecordingLinkToClipboardOnStop = function copyRecordingLinkToClipboardOnStop(_ref3) {
|
|
687
|
+
var _navigator$clipboard;
|
|
688
|
+
var createRecordingPromise = _ref3.createRecordingPromise,
|
|
689
|
+
recordingRef = _ref3.recordingRef,
|
|
690
|
+
baseURLRef = _ref3.baseURLRef,
|
|
691
|
+
successMessage = _ref3.successMessage;
|
|
692
|
+
var resolveLink = /*#__PURE__*/function () {
|
|
693
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
694
|
+
var _recordingRef$current;
|
|
695
|
+
var recordingId, baseURL;
|
|
696
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
697
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
698
|
+
case 0:
|
|
699
|
+
if (!(createRecordingPromise !== null && createRecordingPromise !== void 0 && createRecordingPromise.current)) {
|
|
700
|
+
_context2.next = 3;
|
|
701
|
+
break;
|
|
702
|
+
}
|
|
703
|
+
_context2.next = 3;
|
|
704
|
+
return createRecordingPromise.current;
|
|
705
|
+
case 3:
|
|
706
|
+
recordingId = recordingRef === null || recordingRef === void 0 ? void 0 : (_recordingRef$current = recordingRef.current) === null || _recordingRef$current === void 0 ? void 0 : _recordingRef$current.id;
|
|
707
|
+
baseURL = baseURLRef === null || baseURLRef === void 0 ? void 0 : baseURLRef.current;
|
|
708
|
+
if (!(!recordingId || !baseURL)) {
|
|
709
|
+
_context2.next = 7;
|
|
710
|
+
break;
|
|
711
|
+
}
|
|
712
|
+
throw new Error("Recording id or base URL unavailable");
|
|
713
|
+
case 7:
|
|
714
|
+
return _context2.abrupt("return", generatePublicUrl(recordingId, baseURL));
|
|
715
|
+
case 8:
|
|
716
|
+
case "end":
|
|
717
|
+
return _context2.stop();
|
|
718
|
+
}
|
|
719
|
+
}, _callee2);
|
|
720
|
+
}));
|
|
721
|
+
return function resolveLink() {
|
|
722
|
+
return _ref4.apply(this, arguments);
|
|
723
|
+
};
|
|
724
|
+
}();
|
|
725
|
+
if (typeof window.ClipboardItem === "function" && (_navigator$clipboard = navigator.clipboard) !== null && _navigator$clipboard !== void 0 && _navigator$clipboard.write) {
|
|
726
|
+
var linkBlobPromise = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
727
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
728
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
729
|
+
case 0:
|
|
730
|
+
_context3.t0 = Blob;
|
|
731
|
+
_context3.next = 3;
|
|
732
|
+
return resolveLink();
|
|
733
|
+
case 3:
|
|
734
|
+
_context3.t1 = _context3.sent;
|
|
735
|
+
_context3.t2 = [_context3.t1];
|
|
736
|
+
_context3.t3 = {
|
|
737
|
+
type: "text/plain"
|
|
738
|
+
};
|
|
739
|
+
return _context3.abrupt("return", new _context3.t0(_context3.t2, _context3.t3));
|
|
740
|
+
case 7:
|
|
741
|
+
case "end":
|
|
742
|
+
return _context3.stop();
|
|
743
|
+
}
|
|
744
|
+
}, _callee3);
|
|
745
|
+
}))();
|
|
746
|
+
|
|
747
|
+
// Synchronously initiate clipboard.write so Safari preserves the user
|
|
748
|
+
// activation across the wait for linkBlobPromise.
|
|
749
|
+
var writePromise = navigator.clipboard.write([new ClipboardItem({
|
|
750
|
+
"text/plain": linkBlobPromise
|
|
751
|
+
})]);
|
|
752
|
+
_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
|
|
753
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
754
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
755
|
+
case 0:
|
|
756
|
+
_context4.prev = 0;
|
|
757
|
+
_context4.next = 3;
|
|
758
|
+
return writePromise;
|
|
759
|
+
case 3:
|
|
760
|
+
Toastr.success(successMessage);
|
|
761
|
+
_context4.next = 8;
|
|
762
|
+
break;
|
|
763
|
+
case 6:
|
|
764
|
+
_context4.prev = 6;
|
|
765
|
+
_context4.t0 = _context4["catch"](0);
|
|
766
|
+
case 8:
|
|
767
|
+
case "end":
|
|
768
|
+
return _context4.stop();
|
|
769
|
+
}
|
|
770
|
+
}, _callee4, null, [[0, 6]]);
|
|
771
|
+
}))();
|
|
772
|
+
return;
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
// Legacy fallback for browsers without ClipboardItem (e.g. Firefox < 127).
|
|
776
|
+
// These browsers don't enforce Safari's strict gesture requirement, so a
|
|
777
|
+
// deferred async write is acceptable. copyToClipboard handles its own
|
|
778
|
+
// success toastr and falls back to document.execCommand internally.
|
|
779
|
+
_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
|
|
780
|
+
var link;
|
|
781
|
+
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
782
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
783
|
+
case 0:
|
|
784
|
+
_context5.prev = 0;
|
|
785
|
+
_context5.next = 3;
|
|
786
|
+
return resolveLink();
|
|
787
|
+
case 3:
|
|
788
|
+
link = _context5.sent;
|
|
789
|
+
_context5.next = 6;
|
|
790
|
+
return copyToClipboard(link, {
|
|
791
|
+
message: successMessage
|
|
792
|
+
});
|
|
793
|
+
case 6:
|
|
794
|
+
_context5.next = 10;
|
|
795
|
+
break;
|
|
796
|
+
case 8:
|
|
797
|
+
_context5.prev = 8;
|
|
798
|
+
_context5.t0 = _context5["catch"](0);
|
|
799
|
+
case 10:
|
|
800
|
+
case "end":
|
|
801
|
+
return _context5.stop();
|
|
802
|
+
}
|
|
803
|
+
}, _callee5, null, [[0, 8]]);
|
|
804
|
+
}))();
|
|
805
|
+
};
|
|
806
|
+
|
|
662
807
|
function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
663
808
|
function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
664
809
|
var baseUrl = "/api/v1/recordings";
|
|
@@ -1052,13 +1197,13 @@ var Controls = function Controls(_ref) {
|
|
|
1052
1197
|
var setIsRestartAlertOpen = _ref.setIsRestartAlertOpen,
|
|
1053
1198
|
setIsDiscardAlertOpen = _ref.setIsDiscardAlertOpen,
|
|
1054
1199
|
onDiscard = _ref.onDiscard,
|
|
1200
|
+
onStopRecording = _ref.onStopRecording,
|
|
1055
1201
|
requested = _ref.requested,
|
|
1056
1202
|
appName = _ref.appName;
|
|
1057
1203
|
var _useTranslation = useTranslation(),
|
|
1058
1204
|
t = _useTranslation.t;
|
|
1059
1205
|
var startRecording = screenRecorder.startRecording,
|
|
1060
1206
|
pauseRecording = screenRecorder.pauseRecording,
|
|
1061
|
-
stopRecording = screenRecorder.stopRecording,
|
|
1062
1207
|
resumeRecording = screenRecorder.resumeRecording,
|
|
1063
1208
|
useRecorderStore = screenRecorder.useRecorderStore,
|
|
1064
1209
|
setAudioConfiguration = screenRecorder.setAudioConfiguration;
|
|
@@ -1148,7 +1293,7 @@ var Controls = function Controls(_ref) {
|
|
|
1148
1293
|
label: t("neetoMediaRecorder.record.done"),
|
|
1149
1294
|
size: "large",
|
|
1150
1295
|
style: "danger-text",
|
|
1151
|
-
onClick:
|
|
1296
|
+
onClick: onStopRecording
|
|
1152
1297
|
}), /*#__PURE__*/jsx("div", {
|
|
1153
1298
|
className: "neeto-ui-bg-gray-200 h-10 w-0.5"
|
|
1154
1299
|
})]
|
|
@@ -1535,68 +1680,21 @@ var UnSupportedBrowser = withT(function (_ref) {
|
|
|
1535
1680
|
});
|
|
1536
1681
|
});
|
|
1537
1682
|
|
|
1538
|
-
var generatePublicUrl = function generatePublicUrl(recordingId) {
|
|
1539
|
-
var baseURL = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.origin;
|
|
1540
|
-
return "".concat(baseURL, "/watch/").concat(recordingId);
|
|
1541
|
-
};
|
|
1542
|
-
|
|
1543
1683
|
var UploadingInProgress = function UploadingInProgress(_ref) {
|
|
1544
|
-
var
|
|
1684
|
+
var _ref$baseURL = _ref.baseURL,
|
|
1685
|
+
baseURL = _ref$baseURL === void 0 ? "" : _ref$baseURL,
|
|
1686
|
+
recording = _ref.recording,
|
|
1545
1687
|
uploadProgress = _ref.uploadProgress,
|
|
1546
1688
|
uploadStatus = _ref.uploadStatus,
|
|
1547
1689
|
onDiscard = _ref.onDiscard,
|
|
1548
1690
|
onRetryUpload = _ref.onRetryUpload,
|
|
1549
1691
|
isRetryUpload = _ref.isRetryUpload;
|
|
1550
|
-
var _useState = useState(
|
|
1692
|
+
var _useState = useState(false),
|
|
1551
1693
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
var _useState3 = useState(false),
|
|
1555
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
1556
|
-
isDiscardAlertOpen = _useState4[0],
|
|
1557
|
-
setIsDiscardAlertOpen = _useState4[1];
|
|
1694
|
+
isDiscardAlertOpen = _useState2[0],
|
|
1695
|
+
setIsDiscardAlertOpen = _useState2[1];
|
|
1558
1696
|
var _useTranslation = useTranslation(),
|
|
1559
1697
|
t = _useTranslation.t;
|
|
1560
|
-
useEffect(function () {
|
|
1561
|
-
var fetchBaseURL = /*#__PURE__*/function () {
|
|
1562
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
1563
|
-
var _yield$chrome$storage, baseURL;
|
|
1564
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
1565
|
-
while (1) switch (_context.prev = _context.next) {
|
|
1566
|
-
case 0:
|
|
1567
|
-
if (IS_EXTENSION) {
|
|
1568
|
-
_context.next = 3;
|
|
1569
|
-
break;
|
|
1570
|
-
}
|
|
1571
|
-
setBaseURL(window.location.origin);
|
|
1572
|
-
return _context.abrupt("return");
|
|
1573
|
-
case 3:
|
|
1574
|
-
_context.next = 5;
|
|
1575
|
-
return chrome.storage.local.get("baseURL");
|
|
1576
|
-
case 5:
|
|
1577
|
-
_yield$chrome$storage = _context.sent;
|
|
1578
|
-
baseURL = _yield$chrome$storage.baseURL;
|
|
1579
|
-
setBaseURL(baseURL);
|
|
1580
|
-
case 8:
|
|
1581
|
-
case "end":
|
|
1582
|
-
return _context.stop();
|
|
1583
|
-
}
|
|
1584
|
-
}, _callee);
|
|
1585
|
-
}));
|
|
1586
|
-
return function fetchBaseURL() {
|
|
1587
|
-
return _ref2.apply(this, arguments);
|
|
1588
|
-
};
|
|
1589
|
-
}();
|
|
1590
|
-
fetchBaseURL();
|
|
1591
|
-
}, []);
|
|
1592
|
-
useEffect(function () {
|
|
1593
|
-
if (!window.document.hasFocus() || !recording.id || isEmpty(baseURL)) {
|
|
1594
|
-
return;
|
|
1595
|
-
}
|
|
1596
|
-
copyToClipboard(generatePublicUrl(recording.id, baseURL), {
|
|
1597
|
-
message: t("neetoMediaRecorder.record.copyToClipboardToastrMessage")
|
|
1598
|
-
});
|
|
1599
|
-
}, [recording.id, baseURL]);
|
|
1600
1698
|
var handleRecordingBlobDownload = function handleRecordingBlobDownload() {
|
|
1601
1699
|
var _recording$title;
|
|
1602
1700
|
downloadRecordingBlob(screenRecorder.getWebmMediaBlob(), (_recording$title = recording.title) !== null && _recording$title !== void 0 ? _recording$title : "NeetoRecord-recording");
|
|
@@ -1725,7 +1823,47 @@ var MediaRecorder$1 = function MediaRecorder(_ref, ref) {
|
|
|
1725
1823
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
1726
1824
|
isRetryUpload = _useState8[0],
|
|
1727
1825
|
setIsRetryUpload = _useState8[1];
|
|
1826
|
+
var _useState9 = useState(""),
|
|
1827
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
1828
|
+
baseURL = _useState10[0],
|
|
1829
|
+
setBaseURL = _useState10[1];
|
|
1728
1830
|
var recordingRef = useRef({});
|
|
1831
|
+
var baseURLRef = useRef("");
|
|
1832
|
+
useEffect(function () {
|
|
1833
|
+
var fetchBaseURL = /*#__PURE__*/function () {
|
|
1834
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
1835
|
+
var origin, _yield$chrome$storage, extensionBaseURL;
|
|
1836
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
1837
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1838
|
+
case 0:
|
|
1839
|
+
if (IS_EXTENSION) {
|
|
1840
|
+
_context.next = 5;
|
|
1841
|
+
break;
|
|
1842
|
+
}
|
|
1843
|
+
origin = window.location.origin;
|
|
1844
|
+
baseURLRef.current = origin;
|
|
1845
|
+
setBaseURL(origin);
|
|
1846
|
+
return _context.abrupt("return");
|
|
1847
|
+
case 5:
|
|
1848
|
+
_context.next = 7;
|
|
1849
|
+
return chrome.storage.local.get("baseURL");
|
|
1850
|
+
case 7:
|
|
1851
|
+
_yield$chrome$storage = _context.sent;
|
|
1852
|
+
extensionBaseURL = _yield$chrome$storage.baseURL;
|
|
1853
|
+
baseURLRef.current = extensionBaseURL || "";
|
|
1854
|
+
setBaseURL(extensionBaseURL || "");
|
|
1855
|
+
case 11:
|
|
1856
|
+
case "end":
|
|
1857
|
+
return _context.stop();
|
|
1858
|
+
}
|
|
1859
|
+
}, _callee);
|
|
1860
|
+
}));
|
|
1861
|
+
return function fetchBaseURL() {
|
|
1862
|
+
return _ref2.apply(this, arguments);
|
|
1863
|
+
};
|
|
1864
|
+
}();
|
|
1865
|
+
fetchBaseURL();
|
|
1866
|
+
}, []);
|
|
1729
1867
|
var _useAudioIsCapturing = useAudioIsCapturing({
|
|
1730
1868
|
isMicOn: isMicOn
|
|
1731
1869
|
}),
|
|
@@ -1764,9 +1902,9 @@ var MediaRecorder$1 = function MediaRecorder(_ref, ref) {
|
|
|
1764
1902
|
uploadStatus = _useMultipartS3Upload.status;
|
|
1765
1903
|
var shouldShowTimeLimitWarning = showTimeLimitWarning && isRecorderStatus(SCREEN_RECORDER_STATUS.recording, SCREEN_RECORDER_STATUS.paused);
|
|
1766
1904
|
var _useCreateRecording = useCreateRecording({
|
|
1767
|
-
onSuccess: function onSuccess(
|
|
1768
|
-
var recording =
|
|
1769
|
-
uploadId =
|
|
1905
|
+
onSuccess: function onSuccess(_ref3) {
|
|
1906
|
+
var recording = _ref3.recording,
|
|
1907
|
+
uploadId = _ref3.uploadId;
|
|
1770
1908
|
var multipartS3Uploader = getMultipartS3Uploader();
|
|
1771
1909
|
multipartS3Uploader.setRecording(recording.id, uploadId);
|
|
1772
1910
|
multipartS3Uploader.setMimeType(mimeType);
|
|
@@ -1809,95 +1947,106 @@ var MediaRecorder$1 = function MediaRecorder(_ref, ref) {
|
|
|
1809
1947
|
onError(SCREEN_RECORDER_ERROR.CreateRecordingError);
|
|
1810
1948
|
};
|
|
1811
1949
|
var handleCreateRecording = /*#__PURE__*/function () {
|
|
1812
|
-
var
|
|
1950
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
1813
1951
|
var payload;
|
|
1814
|
-
return _regeneratorRuntime.wrap(function
|
|
1815
|
-
while (1) switch (
|
|
1952
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
1953
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1816
1954
|
case 0:
|
|
1817
1955
|
if (upload) {
|
|
1818
|
-
|
|
1956
|
+
_context3.next = 2;
|
|
1819
1957
|
break;
|
|
1820
1958
|
}
|
|
1821
|
-
return
|
|
1959
|
+
return _context3.abrupt("return");
|
|
1822
1960
|
case 2:
|
|
1823
1961
|
payload = {
|
|
1824
1962
|
folderId: folderId
|
|
1825
1963
|
};
|
|
1826
|
-
|
|
1964
|
+
_context3.next = 5;
|
|
1827
1965
|
return getDeviceInfo(mimeType);
|
|
1828
1966
|
case 5:
|
|
1829
|
-
payload.deviceInfo =
|
|
1830
|
-
createRecordingPromise.current = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
|
1831
|
-
return _regeneratorRuntime.wrap(function
|
|
1832
|
-
while (1) switch (
|
|
1967
|
+
payload.deviceInfo = _context3.sent;
|
|
1968
|
+
createRecordingPromise.current = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
1969
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
1970
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
1833
1971
|
case 0:
|
|
1834
|
-
|
|
1835
|
-
|
|
1972
|
+
_context2.prev = 0;
|
|
1973
|
+
_context2.next = 3;
|
|
1836
1974
|
return createRecording(payload);
|
|
1837
1975
|
case 3:
|
|
1838
|
-
|
|
1976
|
+
_context2.next = 8;
|
|
1839
1977
|
break;
|
|
1840
1978
|
case 5:
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
handleCreateRecordingError(
|
|
1979
|
+
_context2.prev = 5;
|
|
1980
|
+
_context2.t0 = _context2["catch"](0);
|
|
1981
|
+
handleCreateRecordingError(_context2.t0);
|
|
1844
1982
|
case 8:
|
|
1845
1983
|
case "end":
|
|
1846
|
-
return
|
|
1984
|
+
return _context2.stop();
|
|
1847
1985
|
}
|
|
1848
|
-
},
|
|
1986
|
+
}, _callee2, null, [[0, 5]]);
|
|
1849
1987
|
}))();
|
|
1850
1988
|
case 7:
|
|
1851
1989
|
case "end":
|
|
1852
|
-
return
|
|
1990
|
+
return _context3.stop();
|
|
1853
1991
|
}
|
|
1854
|
-
},
|
|
1992
|
+
}, _callee3);
|
|
1855
1993
|
}));
|
|
1856
1994
|
return function handleCreateRecording() {
|
|
1857
|
-
return
|
|
1995
|
+
return _ref4.apply(this, arguments);
|
|
1858
1996
|
};
|
|
1859
1997
|
}();
|
|
1998
|
+
var handleStopRecording = function handleStopRecording() {
|
|
1999
|
+
if (upload) {
|
|
2000
|
+
copyRecordingLinkToClipboardOnStop({
|
|
2001
|
+
createRecordingPromise: createRecordingPromise,
|
|
2002
|
+
recordingRef: recordingRef,
|
|
2003
|
+
baseURLRef: baseURLRef,
|
|
2004
|
+
successMessage: t("neetoMediaRecorder.record.copyToClipboardToastrMessage")
|
|
2005
|
+
});
|
|
2006
|
+
}
|
|
2007
|
+
screenRecorder.stopRecording();
|
|
2008
|
+
};
|
|
1860
2009
|
var handleUploadComplete = function handleUploadComplete() {
|
|
1861
2010
|
var _recordingRef$current;
|
|
1862
2011
|
return onUploadComplete((_recordingRef$current = recordingRef.current) === null || _recordingRef$current === void 0 ? void 0 : _recordingRef$current.id);
|
|
1863
2012
|
};
|
|
1864
2013
|
var handleDiscardRecording = /*#__PURE__*/function () {
|
|
1865
|
-
var
|
|
1866
|
-
var
|
|
1867
|
-
|
|
2014
|
+
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
|
|
2015
|
+
var _ref7,
|
|
2016
|
+
_ref7$forceAbort,
|
|
1868
2017
|
forceAbort,
|
|
1869
2018
|
multipartS3Uploader,
|
|
1870
|
-
|
|
1871
|
-
return _regeneratorRuntime.wrap(function
|
|
1872
|
-
while (1) switch (
|
|
2019
|
+
_args4 = arguments;
|
|
2020
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
2021
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
1873
2022
|
case 0:
|
|
1874
|
-
|
|
2023
|
+
_ref7 = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : {}, _ref7$forceAbort = _ref7.forceAbort, forceAbort = _ref7$forceAbort === void 0 ? false : _ref7$forceAbort;
|
|
1875
2024
|
if (upload) {
|
|
1876
|
-
|
|
2025
|
+
_context4.next = 4;
|
|
1877
2026
|
break;
|
|
1878
2027
|
}
|
|
1879
2028
|
onDiscard();
|
|
1880
|
-
return
|
|
2029
|
+
return _context4.abrupt("return");
|
|
1881
2030
|
case 4:
|
|
1882
2031
|
multipartS3Uploader = getMultipartS3Uploader();
|
|
1883
|
-
|
|
2032
|
+
_context4.next = 7;
|
|
1884
2033
|
return multipartS3Uploader.abortUpload(forceAbort);
|
|
1885
2034
|
case 7:
|
|
1886
2035
|
if (!(multipartS3Uploader.status === UPLOAD_STATUS$1.aborting)) {
|
|
1887
|
-
|
|
2036
|
+
_context4.next = 9;
|
|
1888
2037
|
break;
|
|
1889
2038
|
}
|
|
1890
|
-
return
|
|
2039
|
+
return _context4.abrupt("return");
|
|
1891
2040
|
case 9:
|
|
1892
2041
|
onDiscard();
|
|
1893
2042
|
case 10:
|
|
1894
2043
|
case "end":
|
|
1895
|
-
return
|
|
2044
|
+
return _context4.stop();
|
|
1896
2045
|
}
|
|
1897
|
-
},
|
|
2046
|
+
}, _callee4);
|
|
1898
2047
|
}));
|
|
1899
2048
|
return function handleDiscardRecording() {
|
|
1900
|
-
return
|
|
2049
|
+
return _ref6.apply(this, arguments);
|
|
1901
2050
|
};
|
|
1902
2051
|
}();
|
|
1903
2052
|
var handleRestartRecording = function handleRestartRecording() {
|
|
@@ -1972,25 +2121,25 @@ var MediaRecorder$1 = function MediaRecorder(_ref, ref) {
|
|
|
1972
2121
|
var multipartS3Uploader = upload ? getMultipartS3Uploader({
|
|
1973
2122
|
initialize: true
|
|
1974
2123
|
}) : null;
|
|
1975
|
-
var recorderCallbacks = (_recorderCallbacks = {}, _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onDataAvailable, upload ? multipartS3Uploader.push : noop), _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onStop, _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
|
2124
|
+
var recorderCallbacks = (_recorderCallbacks = {}, _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onDataAvailable, upload ? multipartS3Uploader.push : noop), _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onStop, _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
|
|
1976
2125
|
var blob;
|
|
1977
|
-
return _regeneratorRuntime.wrap(function
|
|
1978
|
-
while (1) switch (
|
|
2126
|
+
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
2127
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
1979
2128
|
case 0:
|
|
1980
2129
|
if (upload) {
|
|
1981
|
-
|
|
2130
|
+
_context5.next = 5;
|
|
1982
2131
|
break;
|
|
1983
2132
|
}
|
|
1984
2133
|
blob = screenRecorder.getWebmMediaBlob();
|
|
1985
2134
|
RequestedRecordingCallback(blob);
|
|
1986
2135
|
onRecordingCompleted(blob);
|
|
1987
|
-
return
|
|
2136
|
+
return _context5.abrupt("return");
|
|
1988
2137
|
case 5:
|
|
1989
2138
|
if (!createRecordingPromise.current) {
|
|
1990
|
-
|
|
2139
|
+
_context5.next = 9;
|
|
1991
2140
|
break;
|
|
1992
2141
|
}
|
|
1993
|
-
|
|
2142
|
+
_context5.next = 8;
|
|
1994
2143
|
return createRecordingPromise.current;
|
|
1995
2144
|
case 8:
|
|
1996
2145
|
createRecordingPromise.current = null;
|
|
@@ -1998,9 +2147,9 @@ var MediaRecorder$1 = function MediaRecorder(_ref, ref) {
|
|
|
1998
2147
|
multipartS3Uploader.completeUpload();
|
|
1999
2148
|
case 10:
|
|
2000
2149
|
case "end":
|
|
2001
|
-
return
|
|
2150
|
+
return _context5.stop();
|
|
2002
2151
|
}
|
|
2003
|
-
},
|
|
2152
|
+
}, _callee5);
|
|
2004
2153
|
}))), _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onDiscard, handleDiscardRecording), _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onRestart, handleRestartRecording), _recorderCallbacks);
|
|
2005
2154
|
Object.keys(recorderCallbacks).forEach(function (key) {
|
|
2006
2155
|
screenRecorder.addCallback(key, recorderCallbacks[key]);
|
|
@@ -2053,6 +2202,7 @@ var MediaRecorder$1 = function MediaRecorder(_ref, ref) {
|
|
|
2053
2202
|
}
|
|
2054
2203
|
if (isRetryUpload || isRecorderStatus(SCREEN_RECORDER_STATUS.stopped) && (isCreatingRecording || isBeingUploadedOrHasErrorUploading)) {
|
|
2055
2204
|
return /*#__PURE__*/jsx(UploadingInProgress, {
|
|
2205
|
+
baseURL: baseURL,
|
|
2056
2206
|
isRetryUpload: isRetryUpload,
|
|
2057
2207
|
recording: recording,
|
|
2058
2208
|
uploadProgress: uploadProgress,
|
|
@@ -2088,7 +2238,8 @@ var MediaRecorder$1 = function MediaRecorder(_ref, ref) {
|
|
|
2088
2238
|
onDiscard: onDiscard,
|
|
2089
2239
|
requested: requested,
|
|
2090
2240
|
setIsDiscardAlertOpen: setIsDiscardAlertOpen,
|
|
2091
|
-
setIsRestartAlertOpen: setIsRestartAlertOpen
|
|
2241
|
+
setIsRestartAlertOpen: setIsRestartAlertOpen,
|
|
2242
|
+
onStopRecording: handleStopRecording
|
|
2092
2243
|
}), /*#__PURE__*/jsx(Alert, {
|
|
2093
2244
|
isOpen: isDiscardAlertOpen,
|
|
2094
2245
|
message: t("neetoMediaRecorder.record.discardConfirmation.message"),
|