@bigbinary/neeto-media-recorder 2.7.29-beta.1 → 2.7.29-beta.2
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 +1 -0
- package/core.js.map +1 -1
- package/index.js +185 -106
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -8,8 +8,9 @@ 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 Toastr from '@bigbinary/neetoui/Toastr';
|
|
11
12
|
import platform from 'platform';
|
|
12
|
-
import { isNotNil
|
|
13
|
+
import { isNotNil } from 'ramda';
|
|
13
14
|
import withT from '@bigbinary/neeto-commons-frontend/react-utils/withT';
|
|
14
15
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
15
16
|
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
@@ -22,7 +23,6 @@ import Pause from '@bigbinary/neeto-icons/Pause';
|
|
|
22
23
|
import Unlock from '@bigbinary/neeto-icons/Unlock';
|
|
23
24
|
import Delete from '@bigbinary/neeto-icons/Delete';
|
|
24
25
|
import Browser from '@bigbinary/neeto-icons/Browser';
|
|
25
|
-
import { copyToClipboard } from '@bigbinary/neeto-commons-frontend/utils/general';
|
|
26
26
|
import Close from '@bigbinary/neeto-icons/Close';
|
|
27
27
|
import Download from '@bigbinary/neeto-icons/Download';
|
|
28
28
|
import Copy from '@bigbinary/neeto-icons/Copy';
|
|
@@ -548,6 +548,11 @@ var getSupportedMimeType = function getSupportedMimeType() {
|
|
|
548
548
|
})) !== null && _candidates$find !== void 0 ? _candidates$find : null;
|
|
549
549
|
};
|
|
550
550
|
|
|
551
|
+
var generatePublicUrl = function generatePublicUrl(recordingId) {
|
|
552
|
+
var baseURL = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.origin;
|
|
553
|
+
return "".concat(baseURL, "/watch/").concat(recordingId);
|
|
554
|
+
};
|
|
555
|
+
|
|
551
556
|
var formatTime = function formatTime(time) {
|
|
552
557
|
return Math.floor(time).toString().padStart(2, "0");
|
|
553
558
|
};
|
|
@@ -659,6 +664,74 @@ var isMp4Supported = function isMp4Supported() {
|
|
|
659
664
|
return mimeType.includes(MIME_TYPE$1.mp4);
|
|
660
665
|
};
|
|
661
666
|
|
|
667
|
+
/**
|
|
668
|
+
* Copy a recording's public link to the clipboard while preserving Safari's
|
|
669
|
+
* transient user activation. Must be invoked synchronously inside a user
|
|
670
|
+
* gesture handler (e.g. button onClick).
|
|
671
|
+
*
|
|
672
|
+
* Safari (WebKit) refuses navigator.clipboard.write[Text] outside a user
|
|
673
|
+
* gesture, so the post-recording auto-copy cannot be done in a useEffect.
|
|
674
|
+
* Since `recording.id` is only known once the create-recording POST resolves,
|
|
675
|
+
* we keep the gesture alive across that wait by handing
|
|
676
|
+
* navigator.clipboard.write a ClipboardItem backed by a Promise<Blob>; Safari
|
|
677
|
+
* preserves the activation until the promise settles.
|
|
678
|
+
*
|
|
679
|
+
* @param {Object} params
|
|
680
|
+
* @param {React.RefObject<Promise<unknown> | null>} params.createRecordingPromise
|
|
681
|
+
* @param {React.RefObject<{ id?: string | number }>} params.recordingRef
|
|
682
|
+
* @param {React.RefObject<string>} params.baseURLRef
|
|
683
|
+
* @param {string} params.successMessage Toastr message shown on success.
|
|
684
|
+
*/
|
|
685
|
+
var copyRecordingLinkToClipboardOnStop = function copyRecordingLinkToClipboardOnStop(_ref3) {
|
|
686
|
+
var _navigator$clipboard;
|
|
687
|
+
var createRecordingPromise = _ref3.createRecordingPromise,
|
|
688
|
+
recordingRef = _ref3.recordingRef,
|
|
689
|
+
baseURLRef = _ref3.baseURLRef,
|
|
690
|
+
successMessage = _ref3.successMessage;
|
|
691
|
+
if (typeof window.ClipboardItem !== "function" || !((_navigator$clipboard = navigator.clipboard) !== null && _navigator$clipboard !== void 0 && _navigator$clipboard.write)) {
|
|
692
|
+
return;
|
|
693
|
+
}
|
|
694
|
+
var linkBlobPromise = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
695
|
+
var _recordingRef$current;
|
|
696
|
+
var recordingId, baseURL;
|
|
697
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
698
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
699
|
+
case 0:
|
|
700
|
+
if (!(createRecordingPromise !== null && createRecordingPromise !== void 0 && createRecordingPromise.current)) {
|
|
701
|
+
_context2.next = 3;
|
|
702
|
+
break;
|
|
703
|
+
}
|
|
704
|
+
_context2.next = 3;
|
|
705
|
+
return createRecordingPromise.current;
|
|
706
|
+
case 3:
|
|
707
|
+
recordingId = recordingRef === null || recordingRef === void 0 ? void 0 : (_recordingRef$current = recordingRef.current) === null || _recordingRef$current === void 0 ? void 0 : _recordingRef$current.id;
|
|
708
|
+
baseURL = baseURLRef === null || baseURLRef === void 0 ? void 0 : baseURLRef.current;
|
|
709
|
+
if (!(!recordingId || !baseURL)) {
|
|
710
|
+
_context2.next = 7;
|
|
711
|
+
break;
|
|
712
|
+
}
|
|
713
|
+
throw new Error("Recording id or base URL unavailable");
|
|
714
|
+
case 7:
|
|
715
|
+
return _context2.abrupt("return", new Blob([generatePublicUrl(recordingId, baseURL)], {
|
|
716
|
+
type: "text/plain"
|
|
717
|
+
}));
|
|
718
|
+
case 8:
|
|
719
|
+
case "end":
|
|
720
|
+
return _context2.stop();
|
|
721
|
+
}
|
|
722
|
+
}, _callee2);
|
|
723
|
+
}))();
|
|
724
|
+
|
|
725
|
+
// Swallow the unhandled rejection on the inner promise; clipboard.write
|
|
726
|
+
// already observes it, but we don't want stray unhandled rejection logs.
|
|
727
|
+
linkBlobPromise["catch"](noop);
|
|
728
|
+
navigator.clipboard.write([new ClipboardItem({
|
|
729
|
+
"text/plain": linkBlobPromise
|
|
730
|
+
})]).then(function () {
|
|
731
|
+
return Toastr.success(successMessage);
|
|
732
|
+
})["catch"](noop);
|
|
733
|
+
};
|
|
734
|
+
|
|
662
735
|
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
736
|
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
737
|
var baseUrl = "/api/v1/recordings";
|
|
@@ -1052,13 +1125,13 @@ var Controls = function Controls(_ref) {
|
|
|
1052
1125
|
var setIsRestartAlertOpen = _ref.setIsRestartAlertOpen,
|
|
1053
1126
|
setIsDiscardAlertOpen = _ref.setIsDiscardAlertOpen,
|
|
1054
1127
|
onDiscard = _ref.onDiscard,
|
|
1128
|
+
onStopRecording = _ref.onStopRecording,
|
|
1055
1129
|
requested = _ref.requested,
|
|
1056
1130
|
appName = _ref.appName;
|
|
1057
1131
|
var _useTranslation = useTranslation(),
|
|
1058
1132
|
t = _useTranslation.t;
|
|
1059
1133
|
var startRecording = screenRecorder.startRecording,
|
|
1060
1134
|
pauseRecording = screenRecorder.pauseRecording,
|
|
1061
|
-
stopRecording = screenRecorder.stopRecording,
|
|
1062
1135
|
resumeRecording = screenRecorder.resumeRecording,
|
|
1063
1136
|
useRecorderStore = screenRecorder.useRecorderStore,
|
|
1064
1137
|
setAudioConfiguration = screenRecorder.setAudioConfiguration;
|
|
@@ -1148,7 +1221,7 @@ var Controls = function Controls(_ref) {
|
|
|
1148
1221
|
label: t("neetoMediaRecorder.record.done"),
|
|
1149
1222
|
size: "large",
|
|
1150
1223
|
style: "danger-text",
|
|
1151
|
-
onClick:
|
|
1224
|
+
onClick: onStopRecording
|
|
1152
1225
|
}), /*#__PURE__*/jsx("div", {
|
|
1153
1226
|
className: "neeto-ui-bg-gray-200 h-10 w-0.5"
|
|
1154
1227
|
})]
|
|
@@ -1535,68 +1608,21 @@ var UnSupportedBrowser = withT(function (_ref) {
|
|
|
1535
1608
|
});
|
|
1536
1609
|
});
|
|
1537
1610
|
|
|
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
1611
|
var UploadingInProgress = function UploadingInProgress(_ref) {
|
|
1544
|
-
var
|
|
1612
|
+
var _ref$baseURL = _ref.baseURL,
|
|
1613
|
+
baseURL = _ref$baseURL === void 0 ? "" : _ref$baseURL,
|
|
1614
|
+
recording = _ref.recording,
|
|
1545
1615
|
uploadProgress = _ref.uploadProgress,
|
|
1546
1616
|
uploadStatus = _ref.uploadStatus,
|
|
1547
1617
|
onDiscard = _ref.onDiscard,
|
|
1548
1618
|
onRetryUpload = _ref.onRetryUpload,
|
|
1549
1619
|
isRetryUpload = _ref.isRetryUpload;
|
|
1550
|
-
var _useState = useState(
|
|
1620
|
+
var _useState = useState(false),
|
|
1551
1621
|
_useState2 = _slicedToArray(_useState, 2),
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
var _useState3 = useState(false),
|
|
1555
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
1556
|
-
isDiscardAlertOpen = _useState4[0],
|
|
1557
|
-
setIsDiscardAlertOpen = _useState4[1];
|
|
1622
|
+
isDiscardAlertOpen = _useState2[0],
|
|
1623
|
+
setIsDiscardAlertOpen = _useState2[1];
|
|
1558
1624
|
var _useTranslation = useTranslation(),
|
|
1559
1625
|
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
1626
|
var handleRecordingBlobDownload = function handleRecordingBlobDownload() {
|
|
1601
1627
|
var _recording$title;
|
|
1602
1628
|
downloadRecordingBlob(screenRecorder.getWebmMediaBlob(), (_recording$title = recording.title) !== null && _recording$title !== void 0 ? _recording$title : "NeetoRecord-recording");
|
|
@@ -1725,7 +1751,47 @@ var MediaRecorder$1 = function MediaRecorder(_ref, ref) {
|
|
|
1725
1751
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
1726
1752
|
isRetryUpload = _useState8[0],
|
|
1727
1753
|
setIsRetryUpload = _useState8[1];
|
|
1754
|
+
var _useState9 = useState(""),
|
|
1755
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
1756
|
+
baseURL = _useState10[0],
|
|
1757
|
+
setBaseURL = _useState10[1];
|
|
1728
1758
|
var recordingRef = useRef({});
|
|
1759
|
+
var baseURLRef = useRef("");
|
|
1760
|
+
useEffect(function () {
|
|
1761
|
+
var fetchBaseURL = /*#__PURE__*/function () {
|
|
1762
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
1763
|
+
var origin, _yield$chrome$storage, extensionBaseURL;
|
|
1764
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
1765
|
+
while (1) switch (_context.prev = _context.next) {
|
|
1766
|
+
case 0:
|
|
1767
|
+
if (IS_EXTENSION) {
|
|
1768
|
+
_context.next = 5;
|
|
1769
|
+
break;
|
|
1770
|
+
}
|
|
1771
|
+
origin = window.location.origin;
|
|
1772
|
+
baseURLRef.current = origin;
|
|
1773
|
+
setBaseURL(origin);
|
|
1774
|
+
return _context.abrupt("return");
|
|
1775
|
+
case 5:
|
|
1776
|
+
_context.next = 7;
|
|
1777
|
+
return chrome.storage.local.get("baseURL");
|
|
1778
|
+
case 7:
|
|
1779
|
+
_yield$chrome$storage = _context.sent;
|
|
1780
|
+
extensionBaseURL = _yield$chrome$storage.baseURL;
|
|
1781
|
+
baseURLRef.current = extensionBaseURL || "";
|
|
1782
|
+
setBaseURL(extensionBaseURL || "");
|
|
1783
|
+
case 11:
|
|
1784
|
+
case "end":
|
|
1785
|
+
return _context.stop();
|
|
1786
|
+
}
|
|
1787
|
+
}, _callee);
|
|
1788
|
+
}));
|
|
1789
|
+
return function fetchBaseURL() {
|
|
1790
|
+
return _ref2.apply(this, arguments);
|
|
1791
|
+
};
|
|
1792
|
+
}();
|
|
1793
|
+
fetchBaseURL();
|
|
1794
|
+
}, []);
|
|
1729
1795
|
var _useAudioIsCapturing = useAudioIsCapturing({
|
|
1730
1796
|
isMicOn: isMicOn
|
|
1731
1797
|
}),
|
|
@@ -1764,9 +1830,9 @@ var MediaRecorder$1 = function MediaRecorder(_ref, ref) {
|
|
|
1764
1830
|
uploadStatus = _useMultipartS3Upload.status;
|
|
1765
1831
|
var shouldShowTimeLimitWarning = showTimeLimitWarning && isRecorderStatus(SCREEN_RECORDER_STATUS.recording, SCREEN_RECORDER_STATUS.paused);
|
|
1766
1832
|
var _useCreateRecording = useCreateRecording({
|
|
1767
|
-
onSuccess: function onSuccess(
|
|
1768
|
-
var recording =
|
|
1769
|
-
uploadId =
|
|
1833
|
+
onSuccess: function onSuccess(_ref3) {
|
|
1834
|
+
var recording = _ref3.recording,
|
|
1835
|
+
uploadId = _ref3.uploadId;
|
|
1770
1836
|
var multipartS3Uploader = getMultipartS3Uploader();
|
|
1771
1837
|
multipartS3Uploader.setRecording(recording.id, uploadId);
|
|
1772
1838
|
multipartS3Uploader.setMimeType(mimeType);
|
|
@@ -1809,95 +1875,106 @@ var MediaRecorder$1 = function MediaRecorder(_ref, ref) {
|
|
|
1809
1875
|
onError(SCREEN_RECORDER_ERROR.CreateRecordingError);
|
|
1810
1876
|
};
|
|
1811
1877
|
var handleCreateRecording = /*#__PURE__*/function () {
|
|
1812
|
-
var
|
|
1878
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
1813
1879
|
var payload;
|
|
1814
|
-
return _regeneratorRuntime.wrap(function
|
|
1815
|
-
while (1) switch (
|
|
1880
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
1881
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
1816
1882
|
case 0:
|
|
1817
1883
|
if (upload) {
|
|
1818
|
-
|
|
1884
|
+
_context3.next = 2;
|
|
1819
1885
|
break;
|
|
1820
1886
|
}
|
|
1821
|
-
return
|
|
1887
|
+
return _context3.abrupt("return");
|
|
1822
1888
|
case 2:
|
|
1823
1889
|
payload = {
|
|
1824
1890
|
folderId: folderId
|
|
1825
1891
|
};
|
|
1826
|
-
|
|
1892
|
+
_context3.next = 5;
|
|
1827
1893
|
return getDeviceInfo(mimeType);
|
|
1828
1894
|
case 5:
|
|
1829
|
-
payload.deviceInfo =
|
|
1830
|
-
createRecordingPromise.current = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
|
1831
|
-
return _regeneratorRuntime.wrap(function
|
|
1832
|
-
while (1) switch (
|
|
1895
|
+
payload.deviceInfo = _context3.sent;
|
|
1896
|
+
createRecordingPromise.current = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
1897
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
1898
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
1833
1899
|
case 0:
|
|
1834
|
-
|
|
1835
|
-
|
|
1900
|
+
_context2.prev = 0;
|
|
1901
|
+
_context2.next = 3;
|
|
1836
1902
|
return createRecording(payload);
|
|
1837
1903
|
case 3:
|
|
1838
|
-
|
|
1904
|
+
_context2.next = 8;
|
|
1839
1905
|
break;
|
|
1840
1906
|
case 5:
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
handleCreateRecordingError(
|
|
1907
|
+
_context2.prev = 5;
|
|
1908
|
+
_context2.t0 = _context2["catch"](0);
|
|
1909
|
+
handleCreateRecordingError(_context2.t0);
|
|
1844
1910
|
case 8:
|
|
1845
1911
|
case "end":
|
|
1846
|
-
return
|
|
1912
|
+
return _context2.stop();
|
|
1847
1913
|
}
|
|
1848
|
-
},
|
|
1914
|
+
}, _callee2, null, [[0, 5]]);
|
|
1849
1915
|
}))();
|
|
1850
1916
|
case 7:
|
|
1851
1917
|
case "end":
|
|
1852
|
-
return
|
|
1918
|
+
return _context3.stop();
|
|
1853
1919
|
}
|
|
1854
|
-
},
|
|
1920
|
+
}, _callee3);
|
|
1855
1921
|
}));
|
|
1856
1922
|
return function handleCreateRecording() {
|
|
1857
|
-
return
|
|
1923
|
+
return _ref4.apply(this, arguments);
|
|
1858
1924
|
};
|
|
1859
1925
|
}();
|
|
1926
|
+
var handleStopRecording = function handleStopRecording() {
|
|
1927
|
+
if (upload) {
|
|
1928
|
+
copyRecordingLinkToClipboardOnStop({
|
|
1929
|
+
createRecordingPromise: createRecordingPromise,
|
|
1930
|
+
recordingRef: recordingRef,
|
|
1931
|
+
baseURLRef: baseURLRef,
|
|
1932
|
+
successMessage: t("neetoMediaRecorder.record.copyToClipboardToastrMessage")
|
|
1933
|
+
});
|
|
1934
|
+
}
|
|
1935
|
+
screenRecorder.stopRecording();
|
|
1936
|
+
};
|
|
1860
1937
|
var handleUploadComplete = function handleUploadComplete() {
|
|
1861
1938
|
var _recordingRef$current;
|
|
1862
1939
|
return onUploadComplete((_recordingRef$current = recordingRef.current) === null || _recordingRef$current === void 0 ? void 0 : _recordingRef$current.id);
|
|
1863
1940
|
};
|
|
1864
1941
|
var handleDiscardRecording = /*#__PURE__*/function () {
|
|
1865
|
-
var
|
|
1866
|
-
var
|
|
1867
|
-
|
|
1942
|
+
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
|
|
1943
|
+
var _ref7,
|
|
1944
|
+
_ref7$forceAbort,
|
|
1868
1945
|
forceAbort,
|
|
1869
1946
|
multipartS3Uploader,
|
|
1870
|
-
|
|
1871
|
-
return _regeneratorRuntime.wrap(function
|
|
1872
|
-
while (1) switch (
|
|
1947
|
+
_args4 = arguments;
|
|
1948
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
1949
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
1873
1950
|
case 0:
|
|
1874
|
-
|
|
1951
|
+
_ref7 = _args4.length > 0 && _args4[0] !== undefined ? _args4[0] : {}, _ref7$forceAbort = _ref7.forceAbort, forceAbort = _ref7$forceAbort === void 0 ? false : _ref7$forceAbort;
|
|
1875
1952
|
if (upload) {
|
|
1876
|
-
|
|
1953
|
+
_context4.next = 4;
|
|
1877
1954
|
break;
|
|
1878
1955
|
}
|
|
1879
1956
|
onDiscard();
|
|
1880
|
-
return
|
|
1957
|
+
return _context4.abrupt("return");
|
|
1881
1958
|
case 4:
|
|
1882
1959
|
multipartS3Uploader = getMultipartS3Uploader();
|
|
1883
|
-
|
|
1960
|
+
_context4.next = 7;
|
|
1884
1961
|
return multipartS3Uploader.abortUpload(forceAbort);
|
|
1885
1962
|
case 7:
|
|
1886
1963
|
if (!(multipartS3Uploader.status === UPLOAD_STATUS$1.aborting)) {
|
|
1887
|
-
|
|
1964
|
+
_context4.next = 9;
|
|
1888
1965
|
break;
|
|
1889
1966
|
}
|
|
1890
|
-
return
|
|
1967
|
+
return _context4.abrupt("return");
|
|
1891
1968
|
case 9:
|
|
1892
1969
|
onDiscard();
|
|
1893
1970
|
case 10:
|
|
1894
1971
|
case "end":
|
|
1895
|
-
return
|
|
1972
|
+
return _context4.stop();
|
|
1896
1973
|
}
|
|
1897
|
-
},
|
|
1974
|
+
}, _callee4);
|
|
1898
1975
|
}));
|
|
1899
1976
|
return function handleDiscardRecording() {
|
|
1900
|
-
return
|
|
1977
|
+
return _ref6.apply(this, arguments);
|
|
1901
1978
|
};
|
|
1902
1979
|
}();
|
|
1903
1980
|
var handleRestartRecording = function handleRestartRecording() {
|
|
@@ -1972,25 +2049,25 @@ var MediaRecorder$1 = function MediaRecorder(_ref, ref) {
|
|
|
1972
2049
|
var multipartS3Uploader = upload ? getMultipartS3Uploader({
|
|
1973
2050
|
initialize: true
|
|
1974
2051
|
}) : 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
|
|
2052
|
+
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
2053
|
var blob;
|
|
1977
|
-
return _regeneratorRuntime.wrap(function
|
|
1978
|
-
while (1) switch (
|
|
2054
|
+
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
2055
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
1979
2056
|
case 0:
|
|
1980
2057
|
if (upload) {
|
|
1981
|
-
|
|
2058
|
+
_context5.next = 5;
|
|
1982
2059
|
break;
|
|
1983
2060
|
}
|
|
1984
2061
|
blob = screenRecorder.getWebmMediaBlob();
|
|
1985
2062
|
RequestedRecordingCallback(blob);
|
|
1986
2063
|
onRecordingCompleted(blob);
|
|
1987
|
-
return
|
|
2064
|
+
return _context5.abrupt("return");
|
|
1988
2065
|
case 5:
|
|
1989
2066
|
if (!createRecordingPromise.current) {
|
|
1990
|
-
|
|
2067
|
+
_context5.next = 9;
|
|
1991
2068
|
break;
|
|
1992
2069
|
}
|
|
1993
|
-
|
|
2070
|
+
_context5.next = 8;
|
|
1994
2071
|
return createRecordingPromise.current;
|
|
1995
2072
|
case 8:
|
|
1996
2073
|
createRecordingPromise.current = null;
|
|
@@ -1998,9 +2075,9 @@ var MediaRecorder$1 = function MediaRecorder(_ref, ref) {
|
|
|
1998
2075
|
multipartS3Uploader.completeUpload();
|
|
1999
2076
|
case 10:
|
|
2000
2077
|
case "end":
|
|
2001
|
-
return
|
|
2078
|
+
return _context5.stop();
|
|
2002
2079
|
}
|
|
2003
|
-
},
|
|
2080
|
+
}, _callee5);
|
|
2004
2081
|
}))), _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onDiscard, handleDiscardRecording), _defineProperty(_recorderCallbacks, SCREEN_RECORDER_EVENT.onRestart, handleRestartRecording), _recorderCallbacks);
|
|
2005
2082
|
Object.keys(recorderCallbacks).forEach(function (key) {
|
|
2006
2083
|
screenRecorder.addCallback(key, recorderCallbacks[key]);
|
|
@@ -2053,6 +2130,7 @@ var MediaRecorder$1 = function MediaRecorder(_ref, ref) {
|
|
|
2053
2130
|
}
|
|
2054
2131
|
if (isRetryUpload || isRecorderStatus(SCREEN_RECORDER_STATUS.stopped) && (isCreatingRecording || isBeingUploadedOrHasErrorUploading)) {
|
|
2055
2132
|
return /*#__PURE__*/jsx(UploadingInProgress, {
|
|
2133
|
+
baseURL: baseURL,
|
|
2056
2134
|
isRetryUpload: isRetryUpload,
|
|
2057
2135
|
recording: recording,
|
|
2058
2136
|
uploadProgress: uploadProgress,
|
|
@@ -2088,7 +2166,8 @@ var MediaRecorder$1 = function MediaRecorder(_ref, ref) {
|
|
|
2088
2166
|
onDiscard: onDiscard,
|
|
2089
2167
|
requested: requested,
|
|
2090
2168
|
setIsDiscardAlertOpen: setIsDiscardAlertOpen,
|
|
2091
|
-
setIsRestartAlertOpen: setIsRestartAlertOpen
|
|
2169
|
+
setIsRestartAlertOpen: setIsRestartAlertOpen,
|
|
2170
|
+
onStopRecording: handleStopRecording
|
|
2092
2171
|
}), /*#__PURE__*/jsx(Alert, {
|
|
2093
2172
|
isOpen: isDiscardAlertOpen,
|
|
2094
2173
|
message: t("neetoMediaRecorder.record.discardConfirmation.message"),
|