@bigbinary/neeto-media-recorder 2.5.6 → 2.5.7

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.
Files changed (3) hide show
  1. package/core.js +14 -11
  2. package/core.js.map +1 -1
  3. package/package.json +1 -1
package/core.js CHANGED
@@ -1111,6 +1111,7 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
1111
1111
  }, _callee, null, [[0, 37, 40, 43]]);
1112
1112
  })));
1113
1113
  _defineProperty(this, "abortUpload", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
1114
+ var recordingId, uploadId;
1114
1115
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
1115
1116
  while (1) switch (_context2.prev = _context2.next) {
1116
1117
  case 0:
@@ -1132,19 +1133,21 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
1132
1133
  logger.info("abortUpload -> not initialized");
1133
1134
  return _context2.abrupt("return");
1134
1135
  case 8:
1135
- _context2.next = 10;
1136
+ recordingId = _classPrivateFieldGet(_this, _recordingId);
1137
+ uploadId = _classPrivateFieldGet(_this, _uploadId);
1138
+ _context2.next = 12;
1136
1139
  return _classPrivateFieldGet(_this, _completeUploadPromise);
1137
- case 10:
1140
+ case 12:
1138
1141
  _classPrivateFieldGet(_this, _abortController).abort();
1139
- _context2.next = 13;
1142
+ _context2.next = 15;
1140
1143
  return abortUploadApi.create({
1141
- recordingId: _classPrivateFieldGet(_this, _recordingId),
1144
+ recordingId: recordingId,
1142
1145
  payload: {
1143
- uploadId: _classPrivateFieldGet(_this, _uploadId),
1146
+ uploadId: uploadId,
1144
1147
  isMp4: isMp4Supported()
1145
1148
  }
1146
1149
  });
1147
- case 13:
1150
+ case 15:
1148
1151
  logger.info("abortUpload -> abort successful");
1149
1152
  _classPrivateFieldSet(_this, _unUploadedChunks, []);
1150
1153
  _classPrivateFieldSet(_this, _partNumber, 1);
@@ -1153,17 +1156,17 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
1153
1156
  status: ""
1154
1157
  });
1155
1158
  _classPrivateFieldSet(_this, _abortController, null);
1156
- _context2.next = 24;
1159
+ _context2.next = 26;
1157
1160
  break;
1158
- case 21:
1159
- _context2.prev = 21;
1161
+ case 23:
1162
+ _context2.prev = 23;
1160
1163
  _context2.t0 = _context2["catch"](0);
1161
1164
  logger.error(_context2.t0);
1162
- case 24:
1165
+ case 26:
1163
1166
  case "end":
1164
1167
  return _context2.stop();
1165
1168
  }
1166
- }, _callee2, null, [[0, 21]]);
1169
+ }, _callee2, null, [[0, 23]]);
1167
1170
  })));
1168
1171
  _defineProperty(this, "resetState", function () {
1169
1172
  _classPrivateFieldSet(_this, _recordingId, "");
package/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sources":["node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArray.js","node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","node_modules/@babel/runtime/helpers/esm/classCallCheck.js","node_modules/@babel/runtime/helpers/esm/typeof.js","node_modules/@babel/runtime/helpers/esm/toPrimitive.js","node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","node_modules/@babel/runtime/helpers/esm/createClass.js","node_modules/@babel/runtime/helpers/esm/defineProperty.js","node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","node_modules/@babel/runtime/helpers/typeof.js","node_modules/@babel/runtime/helpers/regeneratorRuntime.js","node_modules/@babel/runtime/regenerator/index.js","node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","node_modules/@babel/runtime/helpers/esm/inherits.js","node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","node_modules/@babel/runtime/helpers/esm/construct.js","node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","src/constants.js","src/utils/index.js","src/utils/buildRetryableApi.js","src/apis/abort_upload.js","src/apis/complete_upload.js","src/apis/part_presigned_url.js","src/core/screenRecorder/utils.js","src/apis/s3.js","src/components/MediaRecorder/utils.js","src/core/multipartS3Uploader/store/index.js","src/core/multipartS3Uploader/utils.js","src/core/multipartS3Uploader/index.js","node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","node_modules/@babel/runtime/helpers/esm/slicedToArray.js","src/core/screenRecorder/constants.js","src/core/screenRecorder/stores/index.js","src/core/screenRecorder/index.js"],"sourcesContent":["export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","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 _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n}","export default function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n}","import classApplyDescriptorGet from \"./classApplyDescriptorGet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}","export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n}","import classApplyDescriptorSet from \"./classApplyDescriptorSet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _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 }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\n// https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList\nexport const RETRYABLE_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 = {\n onComplete: \"onComplete\",\n onError: \"onError\",\n onProgress: \"onProgress\",\n};\n\nexport const UPLOAD_STATUS = {\n uploading: \"uploading\",\n completed: \"completed\",\n aborting: \"aborting\",\n insufficient_data: \"insufficient_data\",\n error: \"error\",\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 onReUpload: \"onReUpload\",\n};\n\nexport const TOTAL_RETRIES = 15;\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","export const sleep = delay =>\n new Promise(resolve => setTimeout(resolve, delay));\n\nexport const generatePublicUrl = (\n recordingId,\n baseURL = window.location.origin\n) => `${baseURL}/watch/${recordingId}`;\n","import { isPresent } from \"neetocist\";\nimport { min } from \"ramda\";\n\nimport {\n DEFAULT_RETRY_CONFIG,\n INITIAL_RETRY_DELAY,\n MAX_RETRY_DELAY,\n NETWORK_ERROR,\n TIMEOUT_ERROR,\n TOTAL_RETRIES,\n} from \"src/constants\";\nimport { sleep } from \"utils\";\n\nclass RetryError extends Error {\n constructor(message) {\n super(message);\n }\n}\n\nconst buildRetryableApi =\n (\n apiConnector,\n {\n retries = TOTAL_RETRIES,\n retryDelay = INITIAL_RETRY_DELAY,\n retryableStatuses,\n } = DEFAULT_RETRY_CONFIG\n ) =>\n async apiConnectorArgs => {\n const { config = null } = apiConnectorArgs;\n\n let remainingAttempts = retries + 1;\n let shouldCancelRetries = false;\n\n config?.signal?.addEventListener(\"abort\", () => {\n shouldCancelRetries = true;\n });\n\n while (remainingAttempts-- && !shouldCancelRetries) {\n try {\n return await apiConnector(apiConnectorArgs);\n } catch (error) {\n logger.error(\n \"buildRetryableApi -> Failed to connect, remainingAttempts:\",\n error?.config?.url,\n remainingAttempts\n );\n\n const isRetryableStatus =\n isPresent(retryableStatuses) &&\n retryableStatuses.includes(error.response?.status);\n\n const isRetryableError =\n isRetryableStatus ||\n error.message === NETWORK_ERROR ||\n error.code === TIMEOUT_ERROR;\n\n if (isRetryableError && remainingAttempts > 0) {\n logger.info(\n \"buildRetryableApi -> Failed to connect, retry in:\",\n retryDelay\n );\n await sleep(retryDelay);\n retryDelay = min(retryDelay * 2, MAX_RETRY_DELAY);\n } else {\n throw error;\n }\n }\n }\n\n throw new RetryError(\"Request cancelled or request retries exhausted\");\n };\n\nexport default buildRetryableApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload }) =>\n axios.post(`/api/v1/recordings/${recordingId}/abort_upload`, {\n abortUpload: payload,\n });\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst abortUploadApi = { create: retryableCreate };\n\nexport default abortUploadApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload, config }) =>\n axios.post(\n `/api/v1/recordings/${recordingId}/complete_upload`,\n { completeUpload: payload },\n config\n );\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst completeUploadApi = { create: retryableCreate };\n\nexport default completeUploadApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload, config }) =>\n axios.post(\n `/api/v1/recordings/${recordingId}/part_presigned_url`,\n { partPresignedUrl: payload },\n config\n );\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst partPresignedUrlApi = { create: retryableCreate };\n\nexport default partPresignedUrlApi;\n","import { existsBy, isNotEmpty } from \"neetocist\";\nimport { isNil } from \"ramda\";\n\nimport { MIME_TYPE } from \"src/constants\";\n\nconst getUnSupportedConstraints = mediaType => {\n const supportedMediaConstraints =\n navigator.mediaDevices.getSupportedConstraints();\n\n return Object.keys(mediaType).filter(\n constraint => !supportedMediaConstraints[constraint]\n );\n};\n\nexport const checkConstraints = (...mediaTypes) => {\n if (isNil(navigator.mediaDevices)) {\n return;\n }\n\n const unSupportedConstraints = mediaTypes\n .filter(mediaType => typeof mediaType === \"object\")\n .map(getUnSupportedConstraints)\n .flat();\n\n if (isNotEmpty(unSupportedConstraints)) {\n // eslint-disable-next-line no-console\n console.error(\n `The constraints ${unSupportedConstraints.join(\n \",\"\n )} doesn't support on this browser.`\n );\n }\n};\n\nexport const isStreamEnded = mediaStream =>\n existsBy({ readyState: \"ended\" }, mediaStream.getTracks());\n\nexport function getChromiumVersion() {\n const userAgent = navigator.userAgent;\n const match = userAgent.match(/Chrom(e|ium)\\/(([0-9][.]?)+)/);\n if (match) {\n return match[2];\n }\n\n return null;\n}\n\nexport function compareChromiumVersions(version1, version2) {\n const v1Parts = version1.split(\".\").map(Number);\n const v2Parts = version2.split(\".\").map(Number);\n\n for (let i = 0; i < Math.max(v1Parts.length, v2Parts.length); i++) {\n const v1Part = v1Parts[i] || 0;\n const v2Part = v2Parts[i] || 0;\n\n if (v1Part > v2Part) return 1;\n\n if (v1Part < v2Part) return -1;\n }\n\n return 0;\n}\n\nexport const getSupportedMimeType = () => MIME_TYPE.webmH264;\n\n// TODO: Uncomment this when mp4 is stable\n// export const getSupportedMimeType = fallback => {\n// const isWindows = platform.os?.family?.includes(\"Windows\");\n\n// if (MediaRecorder.isTypeSupported(MIME_TYPE.mp4) && !isWindows) {\n// if (platform.name === \"Safari\") {\n// return MIME_TYPE.mp4;\n// }\n\n// const chromiumVersion = getChromiumVersion();\n\n// if (isNil(chromiumVersion)) {\n// return MIME_TYPE.webmH264;\n// }\n\n// const isChromiumVersionSupported =\n// compareChromiumVersions(\n// chromiumVersion,\n// MINIMUM_CHROMIUM_VERSION_FOR_MP4\n// ) >= 0;\n\n// if (isChromiumVersionSupported) {\n// return MIME_TYPE.mp4;\n// }\n\n// return MIME_TYPE.webmH264;\n// } else if (MediaRecorder.isTypeSupported(MIME_TYPE.webmH264)) {\n// return MIME_TYPE.webmH264;\n// }\n\n// return fallback;\n// };\n\nexport const getMediaRecorderOptions = () => {\n const mimeType = getSupportedMimeType();\n\n if (!mimeType) return {};\n\n return { mimeType };\n};\n","import axios from \"axios\";\nimport { RETRYABLE_ERRORS } from \"neetomediarecorder/constants\";\nimport { identity } from \"ramda\";\n\nimport { getSupportedMimeType } from \"src/core/screenRecorder/utils\";\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst s3AxiosInstance = axios.create({\n headers: { \"Content-Type\": getSupportedMimeType() },\n});\n\ns3AxiosInstance.interceptors.response.use(\n identity,\n error => !axios.isCancel(error) && Promise.reject(error)\n);\n\nconst presignedUpload = ({ presignedUrl, blob, config }) =>\n s3AxiosInstance.put(presignedUrl, blob, config);\n\nconst retryablePresignedUpload = buildRetryableApi(presignedUpload, {\n retryableStatuses: RETRYABLE_ERRORS,\n});\n\nconst s3Api = { presignedUpload: retryablePresignedUpload };\n\nexport default s3Api;\n","import {\n IS_EXTENSION,\n MIME_TYPE,\n ONE_MINUTE_IN_MILLISECONDS,\n ONE_SECOND_IN_MILLISECONDS,\n SCREEN_RECORDER_STATUS,\n UPLOAD_STATUS,\n} from \"neetomediarecorder/constants\";\nimport { screenRecorder } from \"neetomediarecorder/core\";\nimport platform from \"platform\";\n\nimport { ONE_HOUR_IN_MILLISECONDS } from \"src/constants\";\nimport { getSupportedMimeType } from \"src/core/screenRecorder/utils\";\n\nconst formatTime = time => Math.floor(time).toString().padStart(2, \"0\");\n\nexport const getTimeString = date => {\n const hours = formatTime(Math.floor(date / ONE_HOUR_IN_MILLISECONDS));\n const minutes = formatTime(\n (date % ONE_HOUR_IN_MILLISECONDS) / ONE_MINUTE_IN_MILLISECONDS\n );\n\n const seconds = formatTime(\n (date % ONE_MINUTE_IN_MILLISECONDS) / ONE_SECOND_IN_MILLISECONDS\n );\n\n if (hours > 0) {\n return `${hours}:${minutes}:${seconds}`;\n }\n\n return `${minutes}:${seconds}`;\n};\n\nexport const downloadRecordingBlob = (blob, name) => {\n const blobUrl = URL.createObjectURL(blob);\n\n const linkElement = document.createElement(\"a\");\n\n linkElement.href = blobUrl;\n linkElement.download = name;\n\n document.body.appendChild(linkElement);\n\n // Dispatch click event on the link\n // This is necessary as link.click() does not work on the latest firefox\n linkElement.dispatchEvent(\n new MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n view: window,\n })\n );\n\n document.body.removeChild(linkElement);\n URL.revokeObjectURL(blobUrl);\n};\n\nexport const hasRecordingDiscarded = ({ recorderStatus, uploadStatus }) =>\n recorderStatus === SCREEN_RECORDER_STATUS.stopped &&\n uploadStatus === UPLOAD_STATUS.aborting;\n\nexport const getRecorderTimeLimitInHumanFormat = timeInMs => {\n const minutes = Math.floor(timeInMs / (1000 * 60));\n const hours = Math.floor(minutes / 60);\n\n if (hours < 1) {\n return `${minutes} minutes`;\n }\n\n return `${hours} hours`;\n};\n\nexport const getDeviceInfo = async () => {\n const isCameraEnabled = IS_EXTENSION\n ? (await chrome.storage.local.get(\"isCameraOn\"))?.isCameraOn\n : false;\n\n return {\n os: platform.os?.toString(),\n app: IS_EXTENSION\n ? `chrome extension v${chrome.runtime.getManifest().version}`\n : \"web\",\n browser: `${platform.name} v${platform.version}`,\n isCameraEnabled,\n isMicEnabled: !!screenRecorder.audioConfiguration,\n displaySurface: screenRecorder.displaySurface,\n };\n};\n\nexport const isMp4Supported = () => getSupportedMimeType() === MIME_TYPE.mp4;\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\n\nconst prepareStore = () => create(withImmutableActions(() => ({ status: \"\" })));\n\nexport default prepareStore;\n","/**\n * Due to the custom axios interceptor for s3Api,\n * it'll return false for cancelled requests instead of a cancelled error object.\n */\nexport const isNotCancelledRequest = resolvedResponse =>\n typeof resolvedResponse !== \"boolean\";\n\nexport const calculateUploadProgress = uploadProgress => {\n const total = Object.values(uploadProgress).reduce(\n (sum, part) => sum + part.total,\n 0\n );\n\n const uploaded = Object.values(uploadProgress).reduce(\n (sum, part) => sum + part.uploaded,\n 0\n );\n\n return Math.round((uploaded * 100) / total);\n};\n","// Axios is required here to waive off the CancelledError which occurs when\n// using AbortController on an axios request.\n// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis\nimport axios from \"axios\";\nimport { isNot, isNotEmpty } from \"neetocist\";\nimport { UPLOAD_EVENT, UPLOAD_STATUS } from \"neetomediarecorder/constants\";\nimport { isEmpty } from \"ramda\";\n\nimport abortUploadApi from \"src/apis/abort_upload\";\nimport completeUploadApi from \"src/apis/complete_upload\";\nimport partPresignedUrlApi from \"src/apis/part_presigned_url\";\nimport s3Api from \"src/apis/s3\";\nimport { isMp4Supported } from \"src/components/MediaRecorder/utils\";\nimport { MIME_TYPE } from \"src/constants\";\n\nimport prepareStore from \"./store\";\nimport { isNotCancelledRequest, calculateUploadProgress } from \"./utils\";\n\nimport { getSupportedMimeType } from \"../screenRecorder/utils\";\n\nclass MultipartS3Uploader {\n MIN_UPLOAD_CHUNK_SIZE = 5 * 1024 * 1024;\n\n #recordingId = \"\";\n #uploadId = \"\";\n #unUploadedChunks = [];\n #partNumber = 1;\n #s3PartUploadPromises = [];\n #callbacks = {};\n #store;\n #abortController;\n #pendingS3ChunkUploads = [];\n #completeUploadPromise;\n #failedUpload = [];\n #uploadProgress = {};\n\n constructor() {\n this.#store = prepareStore();\n }\n\n /** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\n get useMultipartS3UploadStore() {\n return this.#store;\n }\n\n get hasSufficientData() {\n return (\n isNotEmpty(this.#unUploadedChunks) ||\n isNotEmpty(this.#pendingS3ChunkUploads) ||\n isNotEmpty(this.#s3PartUploadPromises)\n );\n }\n\n initialize = (recordingId, uploadId) => {\n this.#recordingId = recordingId;\n this.#uploadId = uploadId;\n this.#abortController = new AbortController();\n };\n\n push = data => {\n if (data.size > 0) {\n this.#unUploadedChunks.push(data);\n }\n\n if (this.#isNotInitialized) return;\n\n logger.info(\n \"Current unuploaded data size is \",\n this.#getCurrentUnUploadedBlob().size / 1024 / 1024,\n \"MB\"\n );\n\n if (this.#getCurrentUnUploadedBlob().size > this.MIN_UPLOAD_CHUNK_SIZE) {\n const uploadChunkToS3Promise = this.#uploadChunkToS3(\n this.#unUploadedChunks\n );\n\n this.#pendingS3ChunkUploads.push(uploadChunkToS3Promise);\n this.#unUploadedChunks = [];\n }\n };\n\n completeUpload = async () => {\n try {\n this.#store.setState({ status: UPLOAD_STATUS.uploading });\n\n if (this.#isNotInitialized) {\n logger.error(\"completeUpload -> not initialized\");\n\n return;\n }\n\n // Upload last chunk; only if last chunk has data\n if (this.#getCurrentUnUploadedBlob().size > 0) {\n logger.info(\"completeUpload -> need to upload last chunk\");\n const uploadChunkToS3Promise = this.#uploadChunkToS3(\n this.#unUploadedChunks\n );\n\n this.#pendingS3ChunkUploads.push(uploadChunkToS3Promise);\n }\n\n /**\n * Wait for all the pending uploadToS3Promises.\n * Else we encounter a race condition where a new request is made for presignedUrl\n * but at the same time we reach the resolvedS3PartUploadPromises line and await\n * the s3PartUploadPromises. And the s3PartUploadPromises is resolved before\n * adding the new presignedUrl part upload to s3PartUploadPromises.\n * This results in incorrect partNumbers.\n */\n logger.info(\n \"completeUpload -> uploading all pending chunks...\",\n this.#pendingS3ChunkUploads.length\n );\n await Promise.all(this.#pendingS3ChunkUploads);\n\n logger.info(\"completeUpload -> finishing part uploads...\");\n const resolvedS3PartUploadPromises = await Promise.all(\n this.#s3PartUploadPromises\n );\n\n if (isNotEmpty(this.#failedUpload)) {\n logger.info(\n \"completeUpload -> chunks with these partNumbers failed:\",\n this.#failedUpload\n );\n this.#store.setState({ status: UPLOAD_STATUS.error });\n this.#fireCallbacks(UPLOAD_EVENT.onError);\n this.#store.setState({ status: UPLOAD_STATUS.error });\n\n return;\n }\n\n if (resolvedS3PartUploadPromises.length === 0) {\n logger.info(\"completeUpload -> insufficient data\");\n this.#store.setState({ status: UPLOAD_STATUS.insufficient_data });\n\n return;\n }\n\n const parts = resolvedS3PartUploadPromises\n .filter(isNotCancelledRequest)\n .map(resolvedResponse => ({\n etag: resolvedResponse.headers.etag,\n partNumber: new URL(\n resolvedResponse.request.responseURL\n ).searchParams.get(\"partNumber\"),\n }))\n .toSorted((a, b) => Number(a.partNumber) - Number(b.partNumber));\n\n logger.info(\"completeUpload -> uploaded parts: \", parts);\n this.#completeUploadPromise = completeUploadApi.create({\n recordingId: this.#recordingId,\n payload: {\n parts,\n uploadId: this.#uploadId,\n isMp4: isMp4Supported(),\n },\n config: { signal: this.#abortController.signal },\n });\n\n logger.info(\"completeUpload -> completing upload... \");\n await this.#completeUploadPromise;\n logger.info(\"completeUpload -> upload completed\");\n\n if (this.#store.getState().status === UPLOAD_STATUS.aborting) {\n logger.info(\"completeUpload -> upload was marked as aborted\");\n\n return;\n }\n\n this.#store.setState({ status: UPLOAD_STATUS.completed });\n\n this.#fireCallbacks(UPLOAD_EVENT.onComplete);\n } catch (error) {\n // ignore if aborted\n if (!axios.isCancel(error)) {\n this.#store.setState({ status: UPLOAD_STATUS.error });\n this.#fireCallbacks(UPLOAD_EVENT.onError);\n logger.error(error);\n }\n } finally {\n this.#completeUploadPromise = null;\n }\n };\n\n abortUpload = async () => {\n try {\n if (this.#store.getState().status === UPLOAD_STATUS.aborting) {\n logger.info(\"abortUpload -> already aborting\");\n\n return;\n }\n this.#store.setState({ status: UPLOAD_STATUS.aborting });\n\n if (this.#isNotInitialized) {\n logger.info(\"abortUpload -> not initialized\");\n\n return;\n }\n\n await this.#completeUploadPromise;\n this.#abortController.abort();\n\n await abortUploadApi.create({\n recordingId: this.#recordingId,\n payload: { uploadId: this.#uploadId, isMp4: isMp4Supported() },\n });\n logger.info(\"abortUpload -> abort successful\");\n\n this.#unUploadedChunks = [];\n this.#partNumber = 1;\n this.#s3PartUploadPromises = [];\n this.#store.setState({ status: \"\" });\n this.#abortController = null;\n } catch (error) {\n logger.error(error);\n }\n };\n\n resetState = () => {\n this.#recordingId = \"\";\n this.#uploadId = \"\";\n this.#unUploadedChunks = [];\n this.#partNumber = 1;\n this.#s3PartUploadPromises = [];\n this.#pendingS3ChunkUploads = [];\n this.#callbacks = {};\n this.#failedUpload = [];\n this.#uploadProgress = {};\n this.#store.setState({ status: \"\" });\n };\n\n addCallback = (event, callback) => {\n const existingCallbacks = this.#callbacks[event] ?? [];\n this.#callbacks = {\n ...this.#callbacks,\n [event]: [...existingCallbacks, callback],\n };\n };\n\n removeCallback = (event, callback) => {\n const registeredCallbacks = this.#callbacks[event] ?? [];\n const updatedCallbacks = registeredCallbacks.filter(isNot(callback));\n this.#callbacks = { ...this.#callbacks, [event]: updatedCallbacks };\n };\n\n #fireCallbacks = (event, args = []) => {\n this.#callbacks[event]?.forEach(callback => {\n callback(...args);\n });\n };\n\n #uploadChunkToS3 = async chunks => {\n logger.info(\"Part ready to be uploaded: \", this.#partNumber);\n const partNumber = this.#partNumber;\n const mimeType = getSupportedMimeType();\n this.#partNumber++;\n this.#uploadProgress[partNumber] = {\n uploaded: 0,\n total: new Blob(chunks, { type: mimeType }).size,\n };\n try {\n const { presignedUrl } = await partPresignedUrlApi.create({\n recordingId: this.#recordingId,\n payload: {\n partNumber,\n uploadId: this.#uploadId,\n isMp4: mimeType === MIME_TYPE.mp4,\n },\n config: { signal: this.#abortController.signal },\n });\n\n logger.info(\"Presigned url created for partNumber:\", partNumber);\n\n const s3PartUploadPromise = s3Api.presignedUpload({\n presignedUrl,\n blob: new Blob(chunks, { type: mimeType }),\n config: {\n includeMetadataInResponse: true,\n signal: this.#abortController.signal,\n onUploadProgress: e => {\n this.#uploadProgress[partNumber] = {\n uploaded: e.loaded,\n total: e.total,\n };\n if (this.#store.getState().status === UPLOAD_STATUS.uploading) {\n const percentCompleted = calculateUploadProgress(\n this.#uploadProgress\n );\n logger.info(`Upload Progress: ${percentCompleted}%`);\n this.#fireCallbacks(UPLOAD_EVENT.onProgress, [percentCompleted]);\n }\n },\n },\n });\n\n this.#s3PartUploadPromises.push(s3PartUploadPromise);\n } catch (error) {\n // ignore if aborted\n if (!axios.isCancel(error)) {\n logger.error(\"Failed to upload partNumber:\", partNumber);\n if (this.#store.getState().status === UPLOAD_STATUS.uploading) {\n this.#store.setState({ status: UPLOAD_STATUS.error });\n this.#fireCallbacks(UPLOAD_EVENT.onError);\n } else {\n this.#failedUpload.push(partNumber);\n }\n }\n }\n };\n\n #getCurrentUnUploadedBlob = () =>\n new Blob(this.#unUploadedChunks, {\n type: getSupportedMimeType(),\n });\n\n get #isNotInitialized() {\n return isEmpty(this.#uploadId + this.#recordingId);\n }\n}\n\nconst multipartS3Uploader = new MultipartS3Uploader();\n\nexport default multipartS3Uploader;\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","// https://www.w3.org/TR/screen-capture/#displaycapturesurfacetype\nexport const DISPLAY_SURFACE = {\n monitor: \"monitor\",\n window: \"window\",\n browser: \"browser\",\n};\n\nexport const RECORDING_TIME_LIMIT = 900_000; // 15 minutes\nexport const RECORDING_TIME_LIMIT_WARNING_TIME = 840_000; // 14 minutes\nexport const MINIMUM_CHROMIUM_VERSION_FOR_MP4 = \"128.0.6613.85\";\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { SCREEN_RECORDER_STATUS } from \"neetomediarecorder/constants\";\nimport { create } from \"zustand\";\n\nexport const initialState = {\n status: SCREEN_RECORDER_STATUS.idle,\n error: \"\",\n elapsedTime: 0,\n countdownTimeLeft: 3,\n showTimeLimitWarning: false,\n};\n\nconst prepareStore = () =>\n create(\n withImmutableActions(set => ({\n ...initialState,\n resetState: () => set(initialState),\n }))\n );\n\nexport default prepareStore;\n","import { isNotEmpty, isNot, noop } from \"neetocist\";\nimport {\n HALF_A_SECOND_IN_MILLISECONDS,\n ONE_SECOND,\n ONE_SECOND_IN_MILLISECONDS,\n RECORDING_LIMIT_REACHED_WARNING_SOUND,\n SCREEN_RECORDER_STATUS,\n SCREEN_RECORDER_EVENT,\n SCREEN_RECORDER_ERROR,\n START_RECORDING_SOUND,\n STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND,\n TWO_HUNDRED_MILLISECONDS,\n ONE_MINUTE_IN_MILLISECONDS,\n RECORDING_TIME_LIMIT_FREE_PLAN,\n IS_EXTENSION,\n} from \"neetomediarecorder/constants\";\nimport { equals, not, pick } from \"ramda\";\n\nimport { DISPLAY_SURFACE } from \"./constants\";\nimport prepareStore, { initialState as initialStoreState } from \"./stores\";\nimport {\n checkConstraints,\n getMediaRecorderOptions,\n getSupportedMimeType,\n isStreamEnded,\n} from \"./utils\";\n\nclass ScreenRecorder {\n #audio;\n #video;\n #mediaRecorder;\n #mediaStream;\n #store;\n #mediaChunks = [];\n #callbacks = {};\n #lastTimerUpdatedAt = 0;\n #timerId;\n #countdownTimerId;\n #startRecordingAudio = new Audio(START_RECORDING_SOUND);\n #recordingLimitWarningAudio = new Audio(\n RECORDING_LIMIT_REACHED_WARNING_SOUND\n );\n #stopRecordingDueToLimitReachedAudio;\n #stream;\n #audioStream;\n #timeLimit = RECORDING_TIME_LIMIT_FREE_PLAN;\n #startRecordingTimeoutID;\n #enableNoiseCancellation = false;\n\n constructor(audio, video) {\n this.#audio = audio;\n this.#video = video;\n\n this.#store = prepareStore();\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.idle });\n this.#checkCompatibility();\n }\n\n /** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\n get useRecorderStore() {\n return this.#store;\n }\n\n get timeLimit() {\n return this.#timeLimit;\n }\n\n get displaySurface() {\n const [videoTrack] = this.#mediaStream?.getVideoTracks();\n\n return videoTrack.getSettings().displaySurface;\n }\n\n get audioConfiguration() {\n return this.#audio;\n }\n\n setEnableNoiseCancellation = value => (this.#enableNoiseCancellation = value);\n\n setAudioConfiguration = audio => (this.#audio = audio);\n\n setTimeLimit = (timeLimit = RECORDING_TIME_LIMIT_FREE_PLAN) =>\n (this.#timeLimit = timeLimit);\n\n getWebmMediaBlob = () =>\n new Blob(this.#mediaChunks, { type: getSupportedMimeType() });\n\n addCallback = (event, callback) => {\n const existingCallbacks = this.#callbacks[event] ?? [];\n this.#callbacks = {\n ...this.#callbacks,\n [event]: [...existingCallbacks, callback],\n };\n };\n\n removeCallback = (event, callback) => {\n const registeredCallbacks = this.#callbacks[event] ?? [];\n const updatedCallbacks = registeredCallbacks.filter(isNot(callback));\n this.#callbacks = { ...this.#callbacks, [event]: updatedCallbacks };\n };\n\n removeAllCallbacksByEvent = event => {\n delete this.#callbacks[event];\n };\n\n startRecording = async () => {\n this.#store.setState(pick([\"error\"], initialStoreState));\n\n if (!this.#mediaStream) {\n await this.#acquireMediaStream();\n }\n\n if (this.#mediaStream && isStreamEnded(this.#mediaStream)) {\n await this.#acquireMediaStream();\n }\n\n if (!this.#mediaStream || isStreamEnded(this.#mediaStream)) return;\n\n const options = getMediaRecorderOptions();\n\n this.#mediaChunks = [];\n this.#mediaRecorder = new MediaRecorder(this.#mediaStream, options);\n this.#mediaRecorder.ondataavailable = this.#onRecordingActive;\n this.#mediaRecorder.onstart = this.#onRecordingStart;\n this.#mediaRecorder.onstop = this.#onRecordingStop;\n this.#mediaRecorder.onerror = () => {\n this.#store.setState({\n status: SCREEN_RECORDER_STATUS.idle,\n error: SCREEN_RECORDER_ERROR.NoRecorder,\n });\n };\n\n this.#countdownAndStartRecording();\n };\n\n stopRecording = () => {\n if (this.#mediaRecorder === undefined) {\n /**\n * If the permission is denied and \"Stop sharing\" overlay is clicked\n */\n this.#mediaStream?.getTracks().forEach(track => track.stop());\n this.#stream?.getTracks().forEach(track => track.stop());\n this.#audioStream?.getAudioTracks()?.forEach(track => track.stop());\n\n return;\n }\n\n if (this.#mediaRecorder?.state === \"inactive\") {\n // When recording is stopped from the 'Stop Sharing' overlay\n // before it even starts, i.e during the countdown.\n // Or if the recording is stopped before startRecordingTimeoutID timeout executes\n this.removeCallback(SCREEN_RECORDER_EVENT.onStop);\n\n clearTimeout(this.#startRecordingTimeoutID);\n clearInterval(this.#countdownTimerId);\n\n this.#mediaStream.getTracks().forEach(track => track.stop());\n this.#stream?.getTracks().forEach(track => track.stop());\n this.#audioStream?.getAudioTracks()?.forEach(track => track.stop());\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDiscardDuringCountdown);\n\n return;\n }\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.#mediaRecorder.stop();\n this.#mediaStream &&\n this.#mediaStream.getTracks().forEach(track => track.stop());\n this.#stream?.getTracks().forEach(track => track.stop());\n this.#audioStream?.getAudioTracks()?.forEach(track => track.stop());\n\n this.#stopTimer();\n };\n\n pauseRecording = () => {\n if (this.#mediaRecorder?.state === \"recording\") {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.paused });\n this.#mediaRecorder.pause();\n }\n\n this.#stopTimer();\n };\n\n resumeRecording = () => {\n if (this.#mediaRecorder?.state === \"paused\") {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.recording });\n this.#mediaRecorder.resume();\n }\n\n this.#startTimer();\n };\n\n discardRecording = () => {\n if (this.#mediaRecorder?.state === \"inactive\") return;\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.removeAllCallbacksByEvent(SCREEN_RECORDER_EVENT.onStop);\n this.#mediaRecorder.stop();\n this.#mediaStream &&\n this.#mediaStream.getTracks().forEach(track => track.stop());\n this.#stream?.getTracks().forEach(track => track.stop());\n\n clearInterval(this.#timerId);\n this.#store.setState(pick([\"elapsedTime\"], initialStoreState));\n this.#mediaChunks = [];\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDiscard);\n };\n\n restartRecording = () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.removeAllCallbacksByEvent(SCREEN_RECORDER_EVENT.onStop);\n this.#mediaRecorder.stop();\n\n clearInterval(this.#timerId);\n this.#store.setState(\n pick([\"elapsedTime\", \"countdownTimeLeft\"], initialStoreState)\n );\n this.#mediaChunks = [];\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onRestart);\n\n this.startRecording();\n };\n\n resetState = () => {\n this.#mediaChunks = [];\n this.#callbacks = {};\n clearInterval(this.#timerId);\n clearInterval(this.#countdownTimerId);\n this.#store.getState().resetState();\n this.#checkCompatibility();\n };\n\n revokePermissions = () => {\n if (!this.#mediaRecorder) return;\n\n this.#mediaRecorder.onstop = null;\n this.#mediaStream.getTracks().forEach(track => track.stop());\n this.#stream?.getTracks().forEach(track => track.stop());\n this.#audioStream?.getAudioTracks()?.forEach(track => track.stop());\n };\n\n #checkCompatibility = () => {\n if (!navigator.mediaDevices?.getDisplayMedia) {\n this.#store.setState({ error: SCREEN_RECORDER_ERROR.UnSupportedBrowser });\n }\n\n checkConstraints(this.#audio, this.#video);\n };\n\n #acquireMediaStream = async () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.acquiring_media });\n let stream;\n try {\n if (this.#audio) {\n const audioStream = await window.navigator.mediaDevices.getUserMedia({\n audio: this.#audio\n ? { echoCancellation: false, ...this.#audio }\n : false,\n });\n\n this.#audioStream = audioStream;\n\n if (this.#enableNoiseCancellation) {\n try {\n const workletUrl = IS_EXTENSION\n ? chrome.runtime.getURL(\"public/NoiseSuppressorWorklet.js\")\n : \"NoiseSuppressorWorklet.js\";\n\n const audioContext = new AudioContext();\n await audioContext.audioWorklet.addModule(workletUrl);\n\n const audioStreamSource =\n audioContext.createMediaStreamSource(audioStream);\n\n const destinationStream =\n audioContext.createMediaStreamDestination();\n\n const noiseSuppressorNode = new AudioWorkletNode(\n audioContext,\n \"nn-suppressor-processor\"\n );\n\n audioStreamSource.connect(noiseSuppressorNode);\n noiseSuppressorNode.connect(destinationStream);\n\n this.#audioStream = destinationStream.stream;\n } catch (error) {\n console.error(\"Failed to load audio worklet:\", error);\n }\n }\n }\n\n stream = await window.navigator.mediaDevices.getDisplayMedia({\n video: this.#video || true,\n audio: true,\n });\n\n // Event triggered when the user clicks on the stop sharing overlay button\n stream.getVideoTracks()[0].addEventListener(\"ended\", () => {\n this.stopRecording();\n });\n\n const finalStream = new MediaStream();\n\n if (this.#audio && this.#audioStream) {\n if (isNotEmpty(stream.getAudioTracks())) {\n const audioContext = new AudioContext();\n\n const desktopAudio = audioContext.createMediaStreamSource(stream);\n const microphoneAudio = audioContext.createMediaStreamSource(\n this.#audioStream\n );\n\n const combinedAudio = audioContext.createMediaStreamDestination();\n\n desktopAudio.connect(combinedAudio);\n microphoneAudio.connect(combinedAudio);\n\n combinedAudio.stream\n .getAudioTracks()\n .forEach(track => finalStream.addTrack(track));\n } else {\n this.#audioStream\n .getAudioTracks()\n .forEach(track => finalStream.addTrack(track));\n }\n }\n stream.getVideoTracks().forEach(track => finalStream.addTrack(track));\n\n this.#mediaStream = finalStream;\n this.#stream = stream;\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.media_acquired });\n } catch (error) {\n if (this.#audio && !this.#audioStream) {\n this.#store.setState({\n error: SCREEN_RECORDER_ERROR.MicPermissionDenied,\n status: SCREEN_RECORDER_STATUS.idle,\n });\n } else if (!stream) {\n this.#store.setState({\n error: SCREEN_RECORDER_ERROR[error.name],\n status: SCREEN_RECORDER_STATUS.idle,\n });\n }\n }\n };\n\n #fireCallbacks = (event, args = []) => {\n this.#callbacks[event]?.forEach(callback => {\n callback(...args);\n });\n };\n\n #onRecordingStart = () => {\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onStart);\n };\n\n #onRecordingActive = ({ data }) => {\n logger.info(\"received data in onRecordingActive\");\n if (data.size <= 0) return;\n\n this.#mediaChunks.push(data);\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDataAvailable, [data]);\n };\n\n #onRecordingStop = () => {\n logger.info(\"stopping recording in onRecordingStop\");\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopped });\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onStop);\n\n // If mediaStream is active after stopping mediaRecorder, then that means that\n // we are restarting and not stopping.\n if (this.#mediaStream.active) {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.restarting });\n }\n };\n\n #countdownAndStartRecording = () => {\n this.#countdownTimerId = setInterval(() => {\n this.#store.setState(({ countdownTimeLeft }) => {\n if (equals(countdownTimeLeft, ONE_SECOND)) {\n this.#startRecordingAudio.play();\n }\n\n if (countdownTimeLeft - ONE_SECOND > 0) {\n return { countdownTimeLeft: countdownTimeLeft - ONE_SECOND };\n }\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.recording });\n clearInterval(this.#countdownTimerId);\n\n this.#startRecordingTimeoutID = setTimeout(() => {\n try {\n this.#mediaRecorder.start(5000);\n this.#startTimer();\n } catch (error) {\n clearInterval(this.#timerId);\n this.#store.setState({\n status: SCREEN_RECORDER_STATUS.idle,\n error: SCREEN_RECORDER_ERROR[error.name],\n });\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onError, [error]);\n // To prevent triggering #onRecordingStop when the mediaRecorder is failed to start.\n this.#mediaRecorder.onstop = noop;\n if (this.#mediaStream) {\n this.#mediaStream.getTracks().forEach(track => track.stop());\n this.#mediaStream = null;\n }\n this.#stream = null;\n this.#audioStream = null;\n this.#mediaRecorder = null;\n\n throw error;\n }\n }, HALF_A_SECOND_IN_MILLISECONDS);\n\n return { countdownTimeLeft: 0 };\n });\n }, ONE_SECOND_IN_MILLISECONDS);\n };\n\n #startTimer = () => {\n this.#lastTimerUpdatedAt = Date.now();\n this.#timerId = setInterval(() => {\n this.#store.setState(({ elapsedTime }) => {\n const now = Date.now();\n const newElapsedTime = elapsedTime + (now - this.#lastTimerUpdatedAt);\n this.#lastTimerUpdatedAt = now;\n\n this.#checkIfTimeLimitReached(newElapsedTime);\n\n return { elapsedTime: newElapsedTime };\n });\n }, TWO_HUNDRED_MILLISECONDS);\n };\n\n #stopTimer = () => {\n clearInterval(this.#timerId);\n\n const newElapsedTime =\n this.#store.getState().elapsedTime +\n (Date.now() - this.#lastTimerUpdatedAt);\n\n this.#store.setState({ elapsedTime: newElapsedTime });\n };\n\n #checkIfTimeLimitReached = elapsedTime => {\n const oneMinuteBeforeTimeLimit =\n this.#timeLimit - ONE_MINUTE_IN_MILLISECONDS;\n\n if (elapsedTime <= oneMinuteBeforeTimeLimit) return;\n\n if (\n elapsedTime < this.#timeLimit &&\n elapsedTime > oneMinuteBeforeTimeLimit\n ) {\n not(this.#store.getState().showTimeLimitWarning) &&\n this.#recordingLimitWarningAudio.play();\n this.#store.setState({ showTimeLimitWarning: true });\n this.#stopRecordingDueToLimitReachedAudio = new Audio(\n STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND\n );\n\n return;\n }\n\n this.#stopRecordingDueToLimitReachedAudio.play();\n this.stopRecording();\n };\n}\n\nconst screenRecorder = new ScreenRecorder(true, {\n displaySurface: DISPLAY_SURFACE.monitor,\n});\n\nexport default screenRecorder;\n"],"names":["arrayLikeToArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_typeof","toPrimitive","toPropertyKey","classExtractFieldDescriptor","classApplyDescriptorGet","classApplyDescriptorSet","require$$0","setPrototypeOf","assertThisInitialized","_isNativeReflectConstruct","isNativeReflectConstruct","isNativeFunction","construct","getPrototypeOf","TOTAL_RETRIES","INITIAL_RETRY_DELAY","MAX_RETRY_DELAY","DEFAULT_RETRY_CONFIG","retries","retryDelay","retryableStatuses","NETWORK_ERROR","TIMEOUT_ERROR","HAS_CHROME_NAMESPACE","chrome","isNotNil","extension","platform","name","MIME_TYPE","mp4","webmH264","sleep","delay","Promise","resolve","setTimeout","RetryError","_Error","_inherits","_super","_createSuper","message","_classCallCheck","call","_createClass","_wrapNativeSuper","Error","buildRetryableApi","apiConnector","_ref","arguments","length","undefined","_ref$retries","_ref$retryDelay","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","apiConnectorArgs","_config$signal","_apiConnectorArgs$con","config","remainingAttempts","shouldCancelRetries","_error$config","_error$response","isRetryableStatus","isRetryableError","wrap","_callee$","_context","prev","next","signal","addEventListener","abrupt","sent","t0","logger","error","url","isPresent","includes","response","status","code","info","min","stop","_x","apply","create","recordingId","payload","axios","post","concat","abortUpload","retryableCreate","abortUploadApi","completeUpload","completeUploadApi","partPresignedUrl","partPresignedUrlApi","getUnSupportedConstraints","mediaType","supportedMediaConstraints","navigator","mediaDevices","getSupportedConstraints","Object","keys","filter","constraint","checkConstraints","isNil","_len","mediaTypes","Array","_key","unSupportedConstraints","map","flat","isNotEmpty","console","join","isStreamEnded","mediaStream","existsBy","readyState","getTracks","getSupportedMimeType","getMediaRecorderOptions","mimeType","s3AxiosInstance","headers","interceptors","use","identity","isCancel","reject","presignedUpload","presignedUrl","blob","put","retryablePresignedUpload","RETRYABLE_ERRORS","s3Api","isMp4Supported","prepareStore","withImmutableActions","isNotCancelledRequest","resolvedResponse","calculateUploadProgress","uploadProgress","total","values","reduce","sum","part","uploaded","Math","round","_recordingId","WeakMap","_uploadId","_unUploadedChunks","_partNumber","_s3PartUploadPromises","_callbacks","_store","_abortController","_pendingS3ChunkUploads","_completeUploadPromise","_failedUpload","_uploadProgress","_fireCallbacks","_uploadChunkToS","_getCurrentUnUploadedBlob","_isNotInitialized","MultipartS3Uploader","_this","_classPrivateFieldInitSpec","get","_get_isNotInitialized","set","_defineProperty","writable","value","uploadId","_classPrivateFieldSet","AbortController","data","size","_classPrivateFieldGet","push","MIN_UPLOAD_CHUNK_SIZE","uploadChunkToS3Promise","resolvedS3PartUploadPromises","parts","setState","UPLOAD_STATUS","uploading","all","UPLOAD_EVENT","onError","insufficient_data","etag","partNumber","URL","request","responseURL","searchParams","toSorted","a","b","Number","isMp4","getState","aborting","completed","onComplete","finish","_callee2","_callee2$","_context2","abort","event","callback","_classPrivateFieldGet2","existingCallbacks","_objectSpread","_toConsumableArray","_classPrivateFieldGet3","registeredCallbacks","updatedCallbacks","isNot","_classPrivateFieldGet4","args","forEach","_value","_callee3","chunks","_this$partNumber","_yield$partPresignedU","s3PartUploadPromise","_callee3$","_context3","Blob","type","includeMetadataInResponse","onUploadProgress","e","loaded","percentCompleted","onProgress","key","isEmpty","multipartS3Uploader","arrayWithHoles","iterableToArrayLimit","nonIterableRest","DISPLAY_SURFACE","monitor","window","browser","initialState","SCREEN_RECORDER_STATUS","idle","elapsedTime","countdownTimeLeft","showTimeLimitWarning","resetState","_audio","_video","_mediaRecorder","_mediaStream","_mediaChunks","_lastTimerUpdatedAt","_timerId","_countdownTimerId","_startRecordingAudio","_recordingLimitWarningAudio","_stopRecordingDueToLimitReachedAudio","_stream","_audioStream","_timeLimit","_startRecordingTimeoutID","_enableNoiseCancellation","_checkCompatibility","_acquireMediaStream","_onRecordingStart","_onRecordingActive","_onRecordingStop","_countdownAndStartRecording","_startTimer","_stopTimer","_checkIfTimeLimitReached","ScreenRecorder","audio","video","Audio","START_RECORDING_SOUND","RECORDING_LIMIT_REACHED_WARNING_SOUND","RECORDING_TIME_LIMIT_FREE_PLAN","timeLimit","options","pick","initialStoreState","MediaRecorder","ondataavailable","onstart","onstop","onerror","SCREEN_RECORDER_ERROR","NoRecorder","_classPrivateFieldGet8","_classPrivateFieldGet12","_classPrivateFieldGet13","_classPrivateFieldGet14","_classPrivateFieldGet5","_classPrivateFieldGet6","_classPrivateFieldGet7","track","getAudioTracks","state","_classPrivateFieldGet9","_classPrivateFieldGet10","_classPrivateFieldGet11","removeCallback","SCREEN_RECORDER_EVENT","onStop","clearTimeout","clearInterval","onDiscardDuringCountdown","stopping","_classPrivateFieldGet15","paused","pause","_classPrivateFieldGet16","recording","resume","_classPrivateFieldGet17","_classPrivateFieldGet18","removeAllCallbacksByEvent","onDiscard","onRestart","startRecording","_classPrivateFieldGet19","_classPrivateFieldGet20","_classPrivateFieldGet21","_navigator$mediaDevic","getDisplayMedia","UnSupportedBrowser","stream","audioStream","workletUrl","audioContext","audioStreamSource","destinationStream","noiseSuppressorNode","finalStream","_audioContext","desktopAudio","microphoneAudio","combinedAudio","acquiring_media","getUserMedia","echoCancellation","IS_EXTENSION","runtime","getURL","AudioContext","audioWorklet","addModule","createMediaStreamSource","createMediaStreamDestination","AudioWorkletNode","connect","getVideoTracks","stopRecording","MediaStream","addTrack","media_acquired","t1","MicPermissionDenied","_classPrivateFieldGet22","onStart","onDataAvailable","stopped","active","restarting","setInterval","_ref3","equals","ONE_SECOND","play","start","noop","HALF_A_SECOND_IN_MILLISECONDS","ONE_SECOND_IN_MILLISECONDS","Date","now","_ref4","newElapsedTime","TWO_HUNDRED_MILLISECONDS","oneMinuteBeforeTimeLimit","ONE_MINUTE_IN_MILLISECONDS","not","STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND","_classPrivateFieldGet25","_classPrivateFieldGet23","_classPrivateFieldGet24","_slicedToArray","videoTrack","getSettings","displaySurface","screenRecorder"],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sources":["node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArray.js","node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","node_modules/@babel/runtime/helpers/esm/classCallCheck.js","node_modules/@babel/runtime/helpers/esm/typeof.js","node_modules/@babel/runtime/helpers/esm/toPrimitive.js","node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","node_modules/@babel/runtime/helpers/esm/createClass.js","node_modules/@babel/runtime/helpers/esm/defineProperty.js","node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","node_modules/@babel/runtime/helpers/typeof.js","node_modules/@babel/runtime/helpers/regeneratorRuntime.js","node_modules/@babel/runtime/regenerator/index.js","node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","node_modules/@babel/runtime/helpers/esm/inherits.js","node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","node_modules/@babel/runtime/helpers/esm/construct.js","node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","src/constants.js","src/utils/index.js","src/utils/buildRetryableApi.js","src/apis/abort_upload.js","src/apis/complete_upload.js","src/apis/part_presigned_url.js","src/core/screenRecorder/utils.js","src/apis/s3.js","src/components/MediaRecorder/utils.js","src/core/multipartS3Uploader/store/index.js","src/core/multipartS3Uploader/utils.js","src/core/multipartS3Uploader/index.js","node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","node_modules/@babel/runtime/helpers/esm/slicedToArray.js","src/core/screenRecorder/constants.js","src/core/screenRecorder/stores/index.js","src/core/screenRecorder/index.js"],"sourcesContent":["export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","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 _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n}","export default function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n}","import classApplyDescriptorGet from \"./classApplyDescriptorGet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}","export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n}","import classApplyDescriptorSet from \"./classApplyDescriptorSet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _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 }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\n// https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList\nexport const RETRYABLE_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 = {\n onComplete: \"onComplete\",\n onError: \"onError\",\n onProgress: \"onProgress\",\n};\n\nexport const UPLOAD_STATUS = {\n uploading: \"uploading\",\n completed: \"completed\",\n aborting: \"aborting\",\n insufficient_data: \"insufficient_data\",\n error: \"error\",\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 onReUpload: \"onReUpload\",\n};\n\nexport const TOTAL_RETRIES = 15;\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","export const sleep = delay =>\n new Promise(resolve => setTimeout(resolve, delay));\n\nexport const generatePublicUrl = (\n recordingId,\n baseURL = window.location.origin\n) => `${baseURL}/watch/${recordingId}`;\n","import { isPresent } from \"neetocist\";\nimport { min } from \"ramda\";\n\nimport {\n DEFAULT_RETRY_CONFIG,\n INITIAL_RETRY_DELAY,\n MAX_RETRY_DELAY,\n NETWORK_ERROR,\n TIMEOUT_ERROR,\n TOTAL_RETRIES,\n} from \"src/constants\";\nimport { sleep } from \"utils\";\n\nclass RetryError extends Error {\n constructor(message) {\n super(message);\n }\n}\n\nconst buildRetryableApi =\n (\n apiConnector,\n {\n retries = TOTAL_RETRIES,\n retryDelay = INITIAL_RETRY_DELAY,\n retryableStatuses,\n } = DEFAULT_RETRY_CONFIG\n ) =>\n async apiConnectorArgs => {\n const { config = null } = apiConnectorArgs;\n\n let remainingAttempts = retries + 1;\n let shouldCancelRetries = false;\n\n config?.signal?.addEventListener(\"abort\", () => {\n shouldCancelRetries = true;\n });\n\n while (remainingAttempts-- && !shouldCancelRetries) {\n try {\n return await apiConnector(apiConnectorArgs);\n } catch (error) {\n logger.error(\n \"buildRetryableApi -> Failed to connect, remainingAttempts:\",\n error?.config?.url,\n remainingAttempts\n );\n\n const isRetryableStatus =\n isPresent(retryableStatuses) &&\n retryableStatuses.includes(error.response?.status);\n\n const isRetryableError =\n isRetryableStatus ||\n error.message === NETWORK_ERROR ||\n error.code === TIMEOUT_ERROR;\n\n if (isRetryableError && remainingAttempts > 0) {\n logger.info(\n \"buildRetryableApi -> Failed to connect, retry in:\",\n retryDelay\n );\n await sleep(retryDelay);\n retryDelay = min(retryDelay * 2, MAX_RETRY_DELAY);\n } else {\n throw error;\n }\n }\n }\n\n throw new RetryError(\"Request cancelled or request retries exhausted\");\n };\n\nexport default buildRetryableApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload }) =>\n axios.post(`/api/v1/recordings/${recordingId}/abort_upload`, {\n abortUpload: payload,\n });\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst abortUploadApi = { create: retryableCreate };\n\nexport default abortUploadApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload, config }) =>\n axios.post(\n `/api/v1/recordings/${recordingId}/complete_upload`,\n { completeUpload: payload },\n config\n );\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst completeUploadApi = { create: retryableCreate };\n\nexport default completeUploadApi;\n","import axios from \"axios\";\n\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst create = ({ recordingId, payload, config }) =>\n axios.post(\n `/api/v1/recordings/${recordingId}/part_presigned_url`,\n { partPresignedUrl: payload },\n config\n );\n\nconst retryableCreate = buildRetryableApi(create);\n\nconst partPresignedUrlApi = { create: retryableCreate };\n\nexport default partPresignedUrlApi;\n","import { existsBy, isNotEmpty } from \"neetocist\";\nimport { isNil } from \"ramda\";\n\nimport { MIME_TYPE } from \"src/constants\";\n\nconst getUnSupportedConstraints = mediaType => {\n const supportedMediaConstraints =\n navigator.mediaDevices.getSupportedConstraints();\n\n return Object.keys(mediaType).filter(\n constraint => !supportedMediaConstraints[constraint]\n );\n};\n\nexport const checkConstraints = (...mediaTypes) => {\n if (isNil(navigator.mediaDevices)) {\n return;\n }\n\n const unSupportedConstraints = mediaTypes\n .filter(mediaType => typeof mediaType === \"object\")\n .map(getUnSupportedConstraints)\n .flat();\n\n if (isNotEmpty(unSupportedConstraints)) {\n // eslint-disable-next-line no-console\n console.error(\n `The constraints ${unSupportedConstraints.join(\n \",\"\n )} doesn't support on this browser.`\n );\n }\n};\n\nexport const isStreamEnded = mediaStream =>\n existsBy({ readyState: \"ended\" }, mediaStream.getTracks());\n\nexport function getChromiumVersion() {\n const userAgent = navigator.userAgent;\n const match = userAgent.match(/Chrom(e|ium)\\/(([0-9][.]?)+)/);\n if (match) {\n return match[2];\n }\n\n return null;\n}\n\nexport function compareChromiumVersions(version1, version2) {\n const v1Parts = version1.split(\".\").map(Number);\n const v2Parts = version2.split(\".\").map(Number);\n\n for (let i = 0; i < Math.max(v1Parts.length, v2Parts.length); i++) {\n const v1Part = v1Parts[i] || 0;\n const v2Part = v2Parts[i] || 0;\n\n if (v1Part > v2Part) return 1;\n\n if (v1Part < v2Part) return -1;\n }\n\n return 0;\n}\n\nexport const getSupportedMimeType = () => MIME_TYPE.webmH264;\n\n// TODO: Uncomment this when mp4 is stable\n// export const getSupportedMimeType = fallback => {\n// const isWindows = platform.os?.family?.includes(\"Windows\");\n\n// if (MediaRecorder.isTypeSupported(MIME_TYPE.mp4) && !isWindows) {\n// if (platform.name === \"Safari\") {\n// return MIME_TYPE.mp4;\n// }\n\n// const chromiumVersion = getChromiumVersion();\n\n// if (isNil(chromiumVersion)) {\n// return MIME_TYPE.webmH264;\n// }\n\n// const isChromiumVersionSupported =\n// compareChromiumVersions(\n// chromiumVersion,\n// MINIMUM_CHROMIUM_VERSION_FOR_MP4\n// ) >= 0;\n\n// if (isChromiumVersionSupported) {\n// return MIME_TYPE.mp4;\n// }\n\n// return MIME_TYPE.webmH264;\n// } else if (MediaRecorder.isTypeSupported(MIME_TYPE.webmH264)) {\n// return MIME_TYPE.webmH264;\n// }\n\n// return fallback;\n// };\n\nexport const getMediaRecorderOptions = () => {\n const mimeType = getSupportedMimeType();\n\n if (!mimeType) return {};\n\n return { mimeType };\n};\n","import axios from \"axios\";\nimport { RETRYABLE_ERRORS } from \"neetomediarecorder/constants\";\nimport { identity } from \"ramda\";\n\nimport { getSupportedMimeType } from \"src/core/screenRecorder/utils\";\nimport buildRetryableApi from \"utils/buildRetryableApi\";\n\nconst s3AxiosInstance = axios.create({\n headers: { \"Content-Type\": getSupportedMimeType() },\n});\n\ns3AxiosInstance.interceptors.response.use(\n identity,\n error => !axios.isCancel(error) && Promise.reject(error)\n);\n\nconst presignedUpload = ({ presignedUrl, blob, config }) =>\n s3AxiosInstance.put(presignedUrl, blob, config);\n\nconst retryablePresignedUpload = buildRetryableApi(presignedUpload, {\n retryableStatuses: RETRYABLE_ERRORS,\n});\n\nconst s3Api = { presignedUpload: retryablePresignedUpload };\n\nexport default s3Api;\n","import {\n IS_EXTENSION,\n MIME_TYPE,\n ONE_MINUTE_IN_MILLISECONDS,\n ONE_SECOND_IN_MILLISECONDS,\n SCREEN_RECORDER_STATUS,\n UPLOAD_STATUS,\n} from \"neetomediarecorder/constants\";\nimport { screenRecorder } from \"neetomediarecorder/core\";\nimport platform from \"platform\";\n\nimport { ONE_HOUR_IN_MILLISECONDS } from \"src/constants\";\nimport { getSupportedMimeType } from \"src/core/screenRecorder/utils\";\n\nconst formatTime = time => Math.floor(time).toString().padStart(2, \"0\");\n\nexport const getTimeString = date => {\n const hours = formatTime(Math.floor(date / ONE_HOUR_IN_MILLISECONDS));\n const minutes = formatTime(\n (date % ONE_HOUR_IN_MILLISECONDS) / ONE_MINUTE_IN_MILLISECONDS\n );\n\n const seconds = formatTime(\n (date % ONE_MINUTE_IN_MILLISECONDS) / ONE_SECOND_IN_MILLISECONDS\n );\n\n if (hours > 0) {\n return `${hours}:${minutes}:${seconds}`;\n }\n\n return `${minutes}:${seconds}`;\n};\n\nexport const downloadRecordingBlob = (blob, name) => {\n const blobUrl = URL.createObjectURL(blob);\n\n const linkElement = document.createElement(\"a\");\n\n linkElement.href = blobUrl;\n linkElement.download = name;\n\n document.body.appendChild(linkElement);\n\n // Dispatch click event on the link\n // This is necessary as link.click() does not work on the latest firefox\n linkElement.dispatchEvent(\n new MouseEvent(\"click\", {\n bubbles: true,\n cancelable: true,\n view: window,\n })\n );\n\n document.body.removeChild(linkElement);\n URL.revokeObjectURL(blobUrl);\n};\n\nexport const hasRecordingDiscarded = ({ recorderStatus, uploadStatus }) =>\n recorderStatus === SCREEN_RECORDER_STATUS.stopped &&\n uploadStatus === UPLOAD_STATUS.aborting;\n\nexport const getRecorderTimeLimitInHumanFormat = timeInMs => {\n const minutes = Math.floor(timeInMs / (1000 * 60));\n const hours = Math.floor(minutes / 60);\n\n if (hours < 1) {\n return `${minutes} minutes`;\n }\n\n return `${hours} hours`;\n};\n\nexport const getDeviceInfo = async () => {\n const isCameraEnabled = IS_EXTENSION\n ? (await chrome.storage.local.get(\"isCameraOn\"))?.isCameraOn\n : false;\n\n return {\n os: platform.os?.toString(),\n app: IS_EXTENSION\n ? `chrome extension v${chrome.runtime.getManifest().version}`\n : \"web\",\n browser: `${platform.name} v${platform.version}`,\n isCameraEnabled,\n isMicEnabled: !!screenRecorder.audioConfiguration,\n displaySurface: screenRecorder.displaySurface,\n };\n};\n\nexport const isMp4Supported = () => getSupportedMimeType() === MIME_TYPE.mp4;\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\n\nconst prepareStore = () => create(withImmutableActions(() => ({ status: \"\" })));\n\nexport default prepareStore;\n","/**\n * Due to the custom axios interceptor for s3Api,\n * it'll return false for cancelled requests instead of a cancelled error object.\n */\nexport const isNotCancelledRequest = resolvedResponse =>\n typeof resolvedResponse !== \"boolean\";\n\nexport const calculateUploadProgress = uploadProgress => {\n const total = Object.values(uploadProgress).reduce(\n (sum, part) => sum + part.total,\n 0\n );\n\n const uploaded = Object.values(uploadProgress).reduce(\n (sum, part) => sum + part.uploaded,\n 0\n );\n\n return Math.round((uploaded * 100) / total);\n};\n","// Axios is required here to waive off the CancelledError which occurs when\n// using AbortController on an axios request.\n// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis\nimport axios from \"axios\";\nimport { isNot, isNotEmpty } from \"neetocist\";\nimport { UPLOAD_EVENT, UPLOAD_STATUS } from \"neetomediarecorder/constants\";\nimport { isEmpty } from \"ramda\";\n\nimport abortUploadApi from \"src/apis/abort_upload\";\nimport completeUploadApi from \"src/apis/complete_upload\";\nimport partPresignedUrlApi from \"src/apis/part_presigned_url\";\nimport s3Api from \"src/apis/s3\";\nimport { isMp4Supported } from \"src/components/MediaRecorder/utils\";\nimport { MIME_TYPE } from \"src/constants\";\n\nimport prepareStore from \"./store\";\nimport { isNotCancelledRequest, calculateUploadProgress } from \"./utils\";\n\nimport { getSupportedMimeType } from \"../screenRecorder/utils\";\n\nclass MultipartS3Uploader {\n MIN_UPLOAD_CHUNK_SIZE = 5 * 1024 * 1024;\n\n #recordingId = \"\";\n #uploadId = \"\";\n #unUploadedChunks = [];\n #partNumber = 1;\n #s3PartUploadPromises = [];\n #callbacks = {};\n #store;\n #abortController;\n #pendingS3ChunkUploads = [];\n #completeUploadPromise;\n #failedUpload = [];\n #uploadProgress = {};\n\n constructor() {\n this.#store = prepareStore();\n }\n\n /** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\n get useMultipartS3UploadStore() {\n return this.#store;\n }\n\n get hasSufficientData() {\n return (\n isNotEmpty(this.#unUploadedChunks) ||\n isNotEmpty(this.#pendingS3ChunkUploads) ||\n isNotEmpty(this.#s3PartUploadPromises)\n );\n }\n\n initialize = (recordingId, uploadId) => {\n this.#recordingId = recordingId;\n this.#uploadId = uploadId;\n this.#abortController = new AbortController();\n };\n\n push = data => {\n if (data.size > 0) {\n this.#unUploadedChunks.push(data);\n }\n\n if (this.#isNotInitialized) return;\n\n logger.info(\n \"Current unuploaded data size is \",\n this.#getCurrentUnUploadedBlob().size / 1024 / 1024,\n \"MB\"\n );\n\n if (this.#getCurrentUnUploadedBlob().size > this.MIN_UPLOAD_CHUNK_SIZE) {\n const uploadChunkToS3Promise = this.#uploadChunkToS3(\n this.#unUploadedChunks\n );\n\n this.#pendingS3ChunkUploads.push(uploadChunkToS3Promise);\n this.#unUploadedChunks = [];\n }\n };\n\n completeUpload = async () => {\n try {\n this.#store.setState({ status: UPLOAD_STATUS.uploading });\n\n if (this.#isNotInitialized) {\n logger.error(\"completeUpload -> not initialized\");\n\n return;\n }\n\n // Upload last chunk; only if last chunk has data\n if (this.#getCurrentUnUploadedBlob().size > 0) {\n logger.info(\"completeUpload -> need to upload last chunk\");\n const uploadChunkToS3Promise = this.#uploadChunkToS3(\n this.#unUploadedChunks\n );\n\n this.#pendingS3ChunkUploads.push(uploadChunkToS3Promise);\n }\n\n /**\n * Wait for all the pending uploadToS3Promises.\n * Else we encounter a race condition where a new request is made for presignedUrl\n * but at the same time we reach the resolvedS3PartUploadPromises line and await\n * the s3PartUploadPromises. And the s3PartUploadPromises is resolved before\n * adding the new presignedUrl part upload to s3PartUploadPromises.\n * This results in incorrect partNumbers.\n */\n logger.info(\n \"completeUpload -> uploading all pending chunks...\",\n this.#pendingS3ChunkUploads.length\n );\n await Promise.all(this.#pendingS3ChunkUploads);\n\n logger.info(\"completeUpload -> finishing part uploads...\");\n const resolvedS3PartUploadPromises = await Promise.all(\n this.#s3PartUploadPromises\n );\n\n if (isNotEmpty(this.#failedUpload)) {\n logger.info(\n \"completeUpload -> chunks with these partNumbers failed:\",\n this.#failedUpload\n );\n this.#store.setState({ status: UPLOAD_STATUS.error });\n this.#fireCallbacks(UPLOAD_EVENT.onError);\n this.#store.setState({ status: UPLOAD_STATUS.error });\n\n return;\n }\n\n if (resolvedS3PartUploadPromises.length === 0) {\n logger.info(\"completeUpload -> insufficient data\");\n this.#store.setState({ status: UPLOAD_STATUS.insufficient_data });\n\n return;\n }\n\n const parts = resolvedS3PartUploadPromises\n .filter(isNotCancelledRequest)\n .map(resolvedResponse => ({\n etag: resolvedResponse.headers.etag,\n partNumber: new URL(\n resolvedResponse.request.responseURL\n ).searchParams.get(\"partNumber\"),\n }))\n .toSorted((a, b) => Number(a.partNumber) - Number(b.partNumber));\n\n logger.info(\"completeUpload -> uploaded parts: \", parts);\n this.#completeUploadPromise = completeUploadApi.create({\n recordingId: this.#recordingId,\n payload: {\n parts,\n uploadId: this.#uploadId,\n isMp4: isMp4Supported(),\n },\n config: { signal: this.#abortController.signal },\n });\n\n logger.info(\"completeUpload -> completing upload... \");\n await this.#completeUploadPromise;\n logger.info(\"completeUpload -> upload completed\");\n\n if (this.#store.getState().status === UPLOAD_STATUS.aborting) {\n logger.info(\"completeUpload -> upload was marked as aborted\");\n\n return;\n }\n\n this.#store.setState({ status: UPLOAD_STATUS.completed });\n\n this.#fireCallbacks(UPLOAD_EVENT.onComplete);\n } catch (error) {\n // ignore if aborted\n if (!axios.isCancel(error)) {\n this.#store.setState({ status: UPLOAD_STATUS.error });\n this.#fireCallbacks(UPLOAD_EVENT.onError);\n logger.error(error);\n }\n } finally {\n this.#completeUploadPromise = null;\n }\n };\n\n abortUpload = async () => {\n try {\n if (this.#store.getState().status === UPLOAD_STATUS.aborting) {\n logger.info(\"abortUpload -> already aborting\");\n\n return;\n }\n this.#store.setState({ status: UPLOAD_STATUS.aborting });\n\n if (this.#isNotInitialized) {\n logger.info(\"abortUpload -> not initialized\");\n\n return;\n }\n const recordingId = this.#recordingId;\n const uploadId = this.#uploadId;\n\n await this.#completeUploadPromise;\n this.#abortController.abort();\n\n await abortUploadApi.create({\n recordingId,\n payload: { uploadId, isMp4: isMp4Supported() },\n });\n logger.info(\"abortUpload -> abort successful\");\n\n this.#unUploadedChunks = [];\n this.#partNumber = 1;\n this.#s3PartUploadPromises = [];\n this.#store.setState({ status: \"\" });\n this.#abortController = null;\n } catch (error) {\n logger.error(error);\n }\n };\n\n resetState = () => {\n this.#recordingId = \"\";\n this.#uploadId = \"\";\n this.#unUploadedChunks = [];\n this.#partNumber = 1;\n this.#s3PartUploadPromises = [];\n this.#pendingS3ChunkUploads = [];\n this.#callbacks = {};\n this.#failedUpload = [];\n this.#uploadProgress = {};\n this.#store.setState({ status: \"\" });\n };\n\n addCallback = (event, callback) => {\n const existingCallbacks = this.#callbacks[event] ?? [];\n this.#callbacks = {\n ...this.#callbacks,\n [event]: [...existingCallbacks, callback],\n };\n };\n\n removeCallback = (event, callback) => {\n const registeredCallbacks = this.#callbacks[event] ?? [];\n const updatedCallbacks = registeredCallbacks.filter(isNot(callback));\n this.#callbacks = { ...this.#callbacks, [event]: updatedCallbacks };\n };\n\n #fireCallbacks = (event, args = []) => {\n this.#callbacks[event]?.forEach(callback => {\n callback(...args);\n });\n };\n\n #uploadChunkToS3 = async chunks => {\n logger.info(\"Part ready to be uploaded: \", this.#partNumber);\n const partNumber = this.#partNumber;\n const mimeType = getSupportedMimeType();\n this.#partNumber++;\n this.#uploadProgress[partNumber] = {\n uploaded: 0,\n total: new Blob(chunks, { type: mimeType }).size,\n };\n try {\n const { presignedUrl } = await partPresignedUrlApi.create({\n recordingId: this.#recordingId,\n payload: {\n partNumber,\n uploadId: this.#uploadId,\n isMp4: mimeType === MIME_TYPE.mp4,\n },\n config: { signal: this.#abortController.signal },\n });\n\n logger.info(\"Presigned url created for partNumber:\", partNumber);\n\n const s3PartUploadPromise = s3Api.presignedUpload({\n presignedUrl,\n blob: new Blob(chunks, { type: mimeType }),\n config: {\n includeMetadataInResponse: true,\n signal: this.#abortController.signal,\n onUploadProgress: e => {\n this.#uploadProgress[partNumber] = {\n uploaded: e.loaded,\n total: e.total,\n };\n if (this.#store.getState().status === UPLOAD_STATUS.uploading) {\n const percentCompleted = calculateUploadProgress(\n this.#uploadProgress\n );\n logger.info(`Upload Progress: ${percentCompleted}%`);\n this.#fireCallbacks(UPLOAD_EVENT.onProgress, [percentCompleted]);\n }\n },\n },\n });\n\n this.#s3PartUploadPromises.push(s3PartUploadPromise);\n } catch (error) {\n // ignore if aborted\n if (!axios.isCancel(error)) {\n logger.error(\"Failed to upload partNumber:\", partNumber);\n if (this.#store.getState().status === UPLOAD_STATUS.uploading) {\n this.#store.setState({ status: UPLOAD_STATUS.error });\n this.#fireCallbacks(UPLOAD_EVENT.onError);\n } else {\n this.#failedUpload.push(partNumber);\n }\n }\n }\n };\n\n #getCurrentUnUploadedBlob = () =>\n new Blob(this.#unUploadedChunks, {\n type: getSupportedMimeType(),\n });\n\n get #isNotInitialized() {\n return isEmpty(this.#uploadId + this.#recordingId);\n }\n}\n\nconst multipartS3Uploader = new MultipartS3Uploader();\n\nexport default multipartS3Uploader;\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","// https://www.w3.org/TR/screen-capture/#displaycapturesurfacetype\nexport const DISPLAY_SURFACE = {\n monitor: \"monitor\",\n window: \"window\",\n browser: \"browser\",\n};\n\nexport const RECORDING_TIME_LIMIT = 900_000; // 15 minutes\nexport const RECORDING_TIME_LIMIT_WARNING_TIME = 840_000; // 14 minutes\nexport const MINIMUM_CHROMIUM_VERSION_FOR_MP4 = \"128.0.6613.85\";\n","import withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { SCREEN_RECORDER_STATUS } from \"neetomediarecorder/constants\";\nimport { create } from \"zustand\";\n\nexport const initialState = {\n status: SCREEN_RECORDER_STATUS.idle,\n error: \"\",\n elapsedTime: 0,\n countdownTimeLeft: 3,\n showTimeLimitWarning: false,\n};\n\nconst prepareStore = () =>\n create(\n withImmutableActions(set => ({\n ...initialState,\n resetState: () => set(initialState),\n }))\n );\n\nexport default prepareStore;\n","import { isNotEmpty, isNot, noop } from \"neetocist\";\nimport {\n HALF_A_SECOND_IN_MILLISECONDS,\n ONE_SECOND,\n ONE_SECOND_IN_MILLISECONDS,\n RECORDING_LIMIT_REACHED_WARNING_SOUND,\n SCREEN_RECORDER_STATUS,\n SCREEN_RECORDER_EVENT,\n SCREEN_RECORDER_ERROR,\n START_RECORDING_SOUND,\n STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND,\n TWO_HUNDRED_MILLISECONDS,\n ONE_MINUTE_IN_MILLISECONDS,\n RECORDING_TIME_LIMIT_FREE_PLAN,\n IS_EXTENSION,\n} from \"neetomediarecorder/constants\";\nimport { equals, not, pick } from \"ramda\";\n\nimport { DISPLAY_SURFACE } from \"./constants\";\nimport prepareStore, { initialState as initialStoreState } from \"./stores\";\nimport {\n checkConstraints,\n getMediaRecorderOptions,\n getSupportedMimeType,\n isStreamEnded,\n} from \"./utils\";\n\nclass ScreenRecorder {\n #audio;\n #video;\n #mediaRecorder;\n #mediaStream;\n #store;\n #mediaChunks = [];\n #callbacks = {};\n #lastTimerUpdatedAt = 0;\n #timerId;\n #countdownTimerId;\n #startRecordingAudio = new Audio(START_RECORDING_SOUND);\n #recordingLimitWarningAudio = new Audio(\n RECORDING_LIMIT_REACHED_WARNING_SOUND\n );\n #stopRecordingDueToLimitReachedAudio;\n #stream;\n #audioStream;\n #timeLimit = RECORDING_TIME_LIMIT_FREE_PLAN;\n #startRecordingTimeoutID;\n #enableNoiseCancellation = false;\n\n constructor(audio, video) {\n this.#audio = audio;\n this.#video = video;\n\n this.#store = prepareStore();\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.idle });\n this.#checkCompatibility();\n }\n\n /** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\n get useRecorderStore() {\n return this.#store;\n }\n\n get timeLimit() {\n return this.#timeLimit;\n }\n\n get displaySurface() {\n const [videoTrack] = this.#mediaStream?.getVideoTracks();\n\n return videoTrack.getSettings().displaySurface;\n }\n\n get audioConfiguration() {\n return this.#audio;\n }\n\n setEnableNoiseCancellation = value => (this.#enableNoiseCancellation = value);\n\n setAudioConfiguration = audio => (this.#audio = audio);\n\n setTimeLimit = (timeLimit = RECORDING_TIME_LIMIT_FREE_PLAN) =>\n (this.#timeLimit = timeLimit);\n\n getWebmMediaBlob = () =>\n new Blob(this.#mediaChunks, { type: getSupportedMimeType() });\n\n addCallback = (event, callback) => {\n const existingCallbacks = this.#callbacks[event] ?? [];\n this.#callbacks = {\n ...this.#callbacks,\n [event]: [...existingCallbacks, callback],\n };\n };\n\n removeCallback = (event, callback) => {\n const registeredCallbacks = this.#callbacks[event] ?? [];\n const updatedCallbacks = registeredCallbacks.filter(isNot(callback));\n this.#callbacks = { ...this.#callbacks, [event]: updatedCallbacks };\n };\n\n removeAllCallbacksByEvent = event => {\n delete this.#callbacks[event];\n };\n\n startRecording = async () => {\n this.#store.setState(pick([\"error\"], initialStoreState));\n\n if (!this.#mediaStream) {\n await this.#acquireMediaStream();\n }\n\n if (this.#mediaStream && isStreamEnded(this.#mediaStream)) {\n await this.#acquireMediaStream();\n }\n\n if (!this.#mediaStream || isStreamEnded(this.#mediaStream)) return;\n\n const options = getMediaRecorderOptions();\n\n this.#mediaChunks = [];\n this.#mediaRecorder = new MediaRecorder(this.#mediaStream, options);\n this.#mediaRecorder.ondataavailable = this.#onRecordingActive;\n this.#mediaRecorder.onstart = this.#onRecordingStart;\n this.#mediaRecorder.onstop = this.#onRecordingStop;\n this.#mediaRecorder.onerror = () => {\n this.#store.setState({\n status: SCREEN_RECORDER_STATUS.idle,\n error: SCREEN_RECORDER_ERROR.NoRecorder,\n });\n };\n\n this.#countdownAndStartRecording();\n };\n\n stopRecording = () => {\n if (this.#mediaRecorder === undefined) {\n /**\n * If the permission is denied and \"Stop sharing\" overlay is clicked\n */\n this.#mediaStream?.getTracks().forEach(track => track.stop());\n this.#stream?.getTracks().forEach(track => track.stop());\n this.#audioStream?.getAudioTracks()?.forEach(track => track.stop());\n\n return;\n }\n\n if (this.#mediaRecorder?.state === \"inactive\") {\n // When recording is stopped from the 'Stop Sharing' overlay\n // before it even starts, i.e during the countdown.\n // Or if the recording is stopped before startRecordingTimeoutID timeout executes\n this.removeCallback(SCREEN_RECORDER_EVENT.onStop);\n\n clearTimeout(this.#startRecordingTimeoutID);\n clearInterval(this.#countdownTimerId);\n\n this.#mediaStream.getTracks().forEach(track => track.stop());\n this.#stream?.getTracks().forEach(track => track.stop());\n this.#audioStream?.getAudioTracks()?.forEach(track => track.stop());\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDiscardDuringCountdown);\n\n return;\n }\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.#mediaRecorder.stop();\n this.#mediaStream &&\n this.#mediaStream.getTracks().forEach(track => track.stop());\n this.#stream?.getTracks().forEach(track => track.stop());\n this.#audioStream?.getAudioTracks()?.forEach(track => track.stop());\n\n this.#stopTimer();\n };\n\n pauseRecording = () => {\n if (this.#mediaRecorder?.state === \"recording\") {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.paused });\n this.#mediaRecorder.pause();\n }\n\n this.#stopTimer();\n };\n\n resumeRecording = () => {\n if (this.#mediaRecorder?.state === \"paused\") {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.recording });\n this.#mediaRecorder.resume();\n }\n\n this.#startTimer();\n };\n\n discardRecording = () => {\n if (this.#mediaRecorder?.state === \"inactive\") return;\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.removeAllCallbacksByEvent(SCREEN_RECORDER_EVENT.onStop);\n this.#mediaRecorder.stop();\n this.#mediaStream &&\n this.#mediaStream.getTracks().forEach(track => track.stop());\n this.#stream?.getTracks().forEach(track => track.stop());\n\n clearInterval(this.#timerId);\n this.#store.setState(pick([\"elapsedTime\"], initialStoreState));\n this.#mediaChunks = [];\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDiscard);\n };\n\n restartRecording = () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopping });\n this.removeAllCallbacksByEvent(SCREEN_RECORDER_EVENT.onStop);\n this.#mediaRecorder.stop();\n\n clearInterval(this.#timerId);\n this.#store.setState(\n pick([\"elapsedTime\", \"countdownTimeLeft\"], initialStoreState)\n );\n this.#mediaChunks = [];\n\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onRestart);\n\n this.startRecording();\n };\n\n resetState = () => {\n this.#mediaChunks = [];\n this.#callbacks = {};\n clearInterval(this.#timerId);\n clearInterval(this.#countdownTimerId);\n this.#store.getState().resetState();\n this.#checkCompatibility();\n };\n\n revokePermissions = () => {\n if (!this.#mediaRecorder) return;\n\n this.#mediaRecorder.onstop = null;\n this.#mediaStream.getTracks().forEach(track => track.stop());\n this.#stream?.getTracks().forEach(track => track.stop());\n this.#audioStream?.getAudioTracks()?.forEach(track => track.stop());\n };\n\n #checkCompatibility = () => {\n if (!navigator.mediaDevices?.getDisplayMedia) {\n this.#store.setState({ error: SCREEN_RECORDER_ERROR.UnSupportedBrowser });\n }\n\n checkConstraints(this.#audio, this.#video);\n };\n\n #acquireMediaStream = async () => {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.acquiring_media });\n let stream;\n try {\n if (this.#audio) {\n const audioStream = await window.navigator.mediaDevices.getUserMedia({\n audio: this.#audio\n ? { echoCancellation: false, ...this.#audio }\n : false,\n });\n\n this.#audioStream = audioStream;\n\n if (this.#enableNoiseCancellation) {\n try {\n const workletUrl = IS_EXTENSION\n ? chrome.runtime.getURL(\"public/NoiseSuppressorWorklet.js\")\n : \"NoiseSuppressorWorklet.js\";\n\n const audioContext = new AudioContext();\n await audioContext.audioWorklet.addModule(workletUrl);\n\n const audioStreamSource =\n audioContext.createMediaStreamSource(audioStream);\n\n const destinationStream =\n audioContext.createMediaStreamDestination();\n\n const noiseSuppressorNode = new AudioWorkletNode(\n audioContext,\n \"nn-suppressor-processor\"\n );\n\n audioStreamSource.connect(noiseSuppressorNode);\n noiseSuppressorNode.connect(destinationStream);\n\n this.#audioStream = destinationStream.stream;\n } catch (error) {\n console.error(\"Failed to load audio worklet:\", error);\n }\n }\n }\n\n stream = await window.navigator.mediaDevices.getDisplayMedia({\n video: this.#video || true,\n audio: true,\n });\n\n // Event triggered when the user clicks on the stop sharing overlay button\n stream.getVideoTracks()[0].addEventListener(\"ended\", () => {\n this.stopRecording();\n });\n\n const finalStream = new MediaStream();\n\n if (this.#audio && this.#audioStream) {\n if (isNotEmpty(stream.getAudioTracks())) {\n const audioContext = new AudioContext();\n\n const desktopAudio = audioContext.createMediaStreamSource(stream);\n const microphoneAudio = audioContext.createMediaStreamSource(\n this.#audioStream\n );\n\n const combinedAudio = audioContext.createMediaStreamDestination();\n\n desktopAudio.connect(combinedAudio);\n microphoneAudio.connect(combinedAudio);\n\n combinedAudio.stream\n .getAudioTracks()\n .forEach(track => finalStream.addTrack(track));\n } else {\n this.#audioStream\n .getAudioTracks()\n .forEach(track => finalStream.addTrack(track));\n }\n }\n stream.getVideoTracks().forEach(track => finalStream.addTrack(track));\n\n this.#mediaStream = finalStream;\n this.#stream = stream;\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.media_acquired });\n } catch (error) {\n if (this.#audio && !this.#audioStream) {\n this.#store.setState({\n error: SCREEN_RECORDER_ERROR.MicPermissionDenied,\n status: SCREEN_RECORDER_STATUS.idle,\n });\n } else if (!stream) {\n this.#store.setState({\n error: SCREEN_RECORDER_ERROR[error.name],\n status: SCREEN_RECORDER_STATUS.idle,\n });\n }\n }\n };\n\n #fireCallbacks = (event, args = []) => {\n this.#callbacks[event]?.forEach(callback => {\n callback(...args);\n });\n };\n\n #onRecordingStart = () => {\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onStart);\n };\n\n #onRecordingActive = ({ data }) => {\n logger.info(\"received data in onRecordingActive\");\n if (data.size <= 0) return;\n\n this.#mediaChunks.push(data);\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onDataAvailable, [data]);\n };\n\n #onRecordingStop = () => {\n logger.info(\"stopping recording in onRecordingStop\");\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.stopped });\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onStop);\n\n // If mediaStream is active after stopping mediaRecorder, then that means that\n // we are restarting and not stopping.\n if (this.#mediaStream.active) {\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.restarting });\n }\n };\n\n #countdownAndStartRecording = () => {\n this.#countdownTimerId = setInterval(() => {\n this.#store.setState(({ countdownTimeLeft }) => {\n if (equals(countdownTimeLeft, ONE_SECOND)) {\n this.#startRecordingAudio.play();\n }\n\n if (countdownTimeLeft - ONE_SECOND > 0) {\n return { countdownTimeLeft: countdownTimeLeft - ONE_SECOND };\n }\n\n this.#store.setState({ status: SCREEN_RECORDER_STATUS.recording });\n clearInterval(this.#countdownTimerId);\n\n this.#startRecordingTimeoutID = setTimeout(() => {\n try {\n this.#mediaRecorder.start(5000);\n this.#startTimer();\n } catch (error) {\n clearInterval(this.#timerId);\n this.#store.setState({\n status: SCREEN_RECORDER_STATUS.idle,\n error: SCREEN_RECORDER_ERROR[error.name],\n });\n this.#fireCallbacks(SCREEN_RECORDER_EVENT.onError, [error]);\n // To prevent triggering #onRecordingStop when the mediaRecorder is failed to start.\n this.#mediaRecorder.onstop = noop;\n if (this.#mediaStream) {\n this.#mediaStream.getTracks().forEach(track => track.stop());\n this.#mediaStream = null;\n }\n this.#stream = null;\n this.#audioStream = null;\n this.#mediaRecorder = null;\n\n throw error;\n }\n }, HALF_A_SECOND_IN_MILLISECONDS);\n\n return { countdownTimeLeft: 0 };\n });\n }, ONE_SECOND_IN_MILLISECONDS);\n };\n\n #startTimer = () => {\n this.#lastTimerUpdatedAt = Date.now();\n this.#timerId = setInterval(() => {\n this.#store.setState(({ elapsedTime }) => {\n const now = Date.now();\n const newElapsedTime = elapsedTime + (now - this.#lastTimerUpdatedAt);\n this.#lastTimerUpdatedAt = now;\n\n this.#checkIfTimeLimitReached(newElapsedTime);\n\n return { elapsedTime: newElapsedTime };\n });\n }, TWO_HUNDRED_MILLISECONDS);\n };\n\n #stopTimer = () => {\n clearInterval(this.#timerId);\n\n const newElapsedTime =\n this.#store.getState().elapsedTime +\n (Date.now() - this.#lastTimerUpdatedAt);\n\n this.#store.setState({ elapsedTime: newElapsedTime });\n };\n\n #checkIfTimeLimitReached = elapsedTime => {\n const oneMinuteBeforeTimeLimit =\n this.#timeLimit - ONE_MINUTE_IN_MILLISECONDS;\n\n if (elapsedTime <= oneMinuteBeforeTimeLimit) return;\n\n if (\n elapsedTime < this.#timeLimit &&\n elapsedTime > oneMinuteBeforeTimeLimit\n ) {\n not(this.#store.getState().showTimeLimitWarning) &&\n this.#recordingLimitWarningAudio.play();\n this.#store.setState({ showTimeLimitWarning: true });\n this.#stopRecordingDueToLimitReachedAudio = new Audio(\n STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND\n );\n\n return;\n }\n\n this.#stopRecordingDueToLimitReachedAudio.play();\n this.stopRecording();\n };\n}\n\nconst screenRecorder = new ScreenRecorder(true, {\n displaySurface: DISPLAY_SURFACE.monitor,\n});\n\nexport default screenRecorder;\n"],"names":["arrayLikeToArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_typeof","toPrimitive","toPropertyKey","classExtractFieldDescriptor","classApplyDescriptorGet","classApplyDescriptorSet","require$$0","setPrototypeOf","assertThisInitialized","_isNativeReflectConstruct","isNativeReflectConstruct","isNativeFunction","construct","getPrototypeOf","TOTAL_RETRIES","INITIAL_RETRY_DELAY","MAX_RETRY_DELAY","DEFAULT_RETRY_CONFIG","retries","retryDelay","retryableStatuses","NETWORK_ERROR","TIMEOUT_ERROR","HAS_CHROME_NAMESPACE","chrome","isNotNil","extension","platform","name","MIME_TYPE","mp4","webmH264","sleep","delay","Promise","resolve","setTimeout","RetryError","_Error","_inherits","_super","_createSuper","message","_classCallCheck","call","_createClass","_wrapNativeSuper","Error","buildRetryableApi","apiConnector","_ref","arguments","length","undefined","_ref$retries","_ref$retryDelay","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","apiConnectorArgs","_config$signal","_apiConnectorArgs$con","config","remainingAttempts","shouldCancelRetries","_error$config","_error$response","isRetryableStatus","isRetryableError","wrap","_callee$","_context","prev","next","signal","addEventListener","abrupt","sent","t0","logger","error","url","isPresent","includes","response","status","code","info","min","stop","_x","apply","create","recordingId","payload","axios","post","concat","abortUpload","retryableCreate","abortUploadApi","completeUpload","completeUploadApi","partPresignedUrl","partPresignedUrlApi","getUnSupportedConstraints","mediaType","supportedMediaConstraints","navigator","mediaDevices","getSupportedConstraints","Object","keys","filter","constraint","checkConstraints","isNil","_len","mediaTypes","Array","_key","unSupportedConstraints","map","flat","isNotEmpty","console","join","isStreamEnded","mediaStream","existsBy","readyState","getTracks","getSupportedMimeType","getMediaRecorderOptions","mimeType","s3AxiosInstance","headers","interceptors","use","identity","isCancel","reject","presignedUpload","presignedUrl","blob","put","retryablePresignedUpload","RETRYABLE_ERRORS","s3Api","isMp4Supported","prepareStore","withImmutableActions","isNotCancelledRequest","resolvedResponse","calculateUploadProgress","uploadProgress","total","values","reduce","sum","part","uploaded","Math","round","_recordingId","WeakMap","_uploadId","_unUploadedChunks","_partNumber","_s3PartUploadPromises","_callbacks","_store","_abortController","_pendingS3ChunkUploads","_completeUploadPromise","_failedUpload","_uploadProgress","_fireCallbacks","_uploadChunkToS","_getCurrentUnUploadedBlob","_isNotInitialized","MultipartS3Uploader","_this","_classPrivateFieldInitSpec","get","_get_isNotInitialized","set","_defineProperty","writable","value","uploadId","_classPrivateFieldSet","AbortController","data","size","_classPrivateFieldGet","push","MIN_UPLOAD_CHUNK_SIZE","uploadChunkToS3Promise","resolvedS3PartUploadPromises","parts","setState","UPLOAD_STATUS","uploading","all","UPLOAD_EVENT","onError","insufficient_data","etag","partNumber","URL","request","responseURL","searchParams","toSorted","a","b","Number","isMp4","getState","aborting","completed","onComplete","finish","_callee2","_callee2$","_context2","abort","event","callback","_classPrivateFieldGet2","existingCallbacks","_objectSpread","_toConsumableArray","_classPrivateFieldGet3","registeredCallbacks","updatedCallbacks","isNot","_classPrivateFieldGet4","args","forEach","_value","_callee3","chunks","_this$partNumber","_yield$partPresignedU","s3PartUploadPromise","_callee3$","_context3","Blob","type","includeMetadataInResponse","onUploadProgress","e","loaded","percentCompleted","onProgress","key","isEmpty","multipartS3Uploader","arrayWithHoles","iterableToArrayLimit","nonIterableRest","DISPLAY_SURFACE","monitor","window","browser","initialState","SCREEN_RECORDER_STATUS","idle","elapsedTime","countdownTimeLeft","showTimeLimitWarning","resetState","_audio","_video","_mediaRecorder","_mediaStream","_mediaChunks","_lastTimerUpdatedAt","_timerId","_countdownTimerId","_startRecordingAudio","_recordingLimitWarningAudio","_stopRecordingDueToLimitReachedAudio","_stream","_audioStream","_timeLimit","_startRecordingTimeoutID","_enableNoiseCancellation","_checkCompatibility","_acquireMediaStream","_onRecordingStart","_onRecordingActive","_onRecordingStop","_countdownAndStartRecording","_startTimer","_stopTimer","_checkIfTimeLimitReached","ScreenRecorder","audio","video","Audio","START_RECORDING_SOUND","RECORDING_LIMIT_REACHED_WARNING_SOUND","RECORDING_TIME_LIMIT_FREE_PLAN","timeLimit","options","pick","initialStoreState","MediaRecorder","ondataavailable","onstart","onstop","onerror","SCREEN_RECORDER_ERROR","NoRecorder","_classPrivateFieldGet8","_classPrivateFieldGet12","_classPrivateFieldGet13","_classPrivateFieldGet14","_classPrivateFieldGet5","_classPrivateFieldGet6","_classPrivateFieldGet7","track","getAudioTracks","state","_classPrivateFieldGet9","_classPrivateFieldGet10","_classPrivateFieldGet11","removeCallback","SCREEN_RECORDER_EVENT","onStop","clearTimeout","clearInterval","onDiscardDuringCountdown","stopping","_classPrivateFieldGet15","paused","pause","_classPrivateFieldGet16","recording","resume","_classPrivateFieldGet17","_classPrivateFieldGet18","removeAllCallbacksByEvent","onDiscard","onRestart","startRecording","_classPrivateFieldGet19","_classPrivateFieldGet20","_classPrivateFieldGet21","_navigator$mediaDevic","getDisplayMedia","UnSupportedBrowser","stream","audioStream","workletUrl","audioContext","audioStreamSource","destinationStream","noiseSuppressorNode","finalStream","_audioContext","desktopAudio","microphoneAudio","combinedAudio","acquiring_media","getUserMedia","echoCancellation","IS_EXTENSION","runtime","getURL","AudioContext","audioWorklet","addModule","createMediaStreamSource","createMediaStreamDestination","AudioWorkletNode","connect","getVideoTracks","stopRecording","MediaStream","addTrack","media_acquired","t1","MicPermissionDenied","_classPrivateFieldGet22","onStart","onDataAvailable","stopped","active","restarting","setInterval","_ref3","equals","ONE_SECOND","play","start","noop","HALF_A_SECOND_IN_MILLISECONDS","ONE_SECOND_IN_MILLISECONDS","Date","now","_ref4","newElapsedTime","TWO_HUNDRED_MILLISECONDS","oneMinuteBeforeTimeLimit","ONE_MINUTE_IN_MILLISECONDS","not","STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND","_classPrivateFieldGet25","_classPrivateFieldGet23","_classPrivateFieldGet24","_slicedToArray","videoTrack","getSettings","displaySurface","screenRecorder"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-media-recorder",
3
- "version": "2.5.6",
3
+ "version": "2.5.7",
4
4
  "description": "A package to simplify the media capturing process",
5
5
  "repository": "git@github.com:bigbinary/neeto-media-recorder.git",
6
6
  "license": "MIT",