@bigbinary/neeto-media-recorder 2.7.48 → 2.7.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/constants.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["node_modules/@babel/runtime/helpers/esm/typeof.js","src/helpUrls.js","src/constants.js"],"sourcesContent":["function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","// eslint-disable-next-line @bigbinary/neeto/no-dangling-constants\nexport const HELP_DOCS_BASE_URL = \"https://help.neetorecord.com\";\n","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\nimport { HELP_DOCS_BASE_URL } from \"./helpUrls\";\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 COUNTDOWN_TIME = 3;\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 OverconstrainedError: \"invalid_media_constraints\",\n TypeError: \"no_chrome_flags_set\",\n None: \"\",\n NoRecorder: \"recorder_error\",\n UnSupportedBrowser: \"unsupported_browser\",\n FailedToStart: \"failed_to_start\",\n CreateRecordingError: \"create_recording_error\",\n InsufficientData: \"insufficient_data\",\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 onReUploadFromDisk: \"onReUploadFromDisk\",\n onPause: \"onPause\",\n onResume: \"onResume\",\n onCountdownStart: \"onCountdownStart\",\n onCountdown: \"onCountDown\",\n onCountdownEnd: \"onCountdownEnd\",\n onCountdownSkip: \"onCountdownSkip\",\n onShareSelected: \"onShareSelected\",\n // Fired when the capture ends without the app calling stop() — i.e. the\n // browser's \"Stop sharing\" pill or an OS-level termination (resource\n // pressure, source closed, permission revoked). The two are\n // indistinguishable in the Web/extension APIs, so consumers should surface\n // both possibilities. If no consumer subscribes, the recorder falls back to\n // finalizing the recording (stopRecording).\n onUnexpectedEnd: \"onUnexpectedEnd\",\n};\n\nexport const TOTAL_RETRIES = 15;\nexport const ABORT_UPLOAD_RETRIES = 2;\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 = `${HELP_DOCS_BASE_URL}/p/a-10efcfd7`;\n\n// Firefox refuses to start a MediaRecorder on a stream that has both audio and\n// video tracks unless the MIME string declares the audio codec too. Chromium\n// and Safari accept the video-only form and silently pick Opus/AAC. We keep\n// both variants and always prefer the codec-complete ones in\n// getSupportedMimeType so a single code path works across browsers.\nexport const MIME_TYPE = {\n mp4: \"video/mp4\",\n webmH264Opus: \"video/webm;codecs=h264,opus\",\n webmH264: \"video/webm;codecs=h264\",\n webmVp9Opus: \"video/webm;codecs=vp9,opus\",\n webmVp9: \"video/webm;codecs=vp9\",\n webmVp8Opus: \"video/webm;codecs=vp8,opus\",\n webmVp8: \"video/webm;codecs=vp8\",\n webm: \"video/webm\",\n};\n\nexport const START_RECORDING_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-start-sound-2.mp3\";\n\nexport const COUNTDOWN_TICK_SOUND =\n \"https://neeto-record-static-assets.s3.us-east-1.amazonaws.com/recording-tick-sound.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\nexport const MIC_NOT_WORKING_ALERT_TIME = 30;\nexport const MIC_NOT_WORKING_SILENCE_TIMEOUT =\n MIC_NOT_WORKING_ALERT_TIME * 1000;\n"],"names":["HELP_DOCS_BASE_URL","RETRYABLE_ERRORS","ONE_SECOND_IN_MILLISECONDS","HALF_A_SECOND_IN_MILLISECONDS","TWO_HUNDRED_MILLISECONDS","ONE_MINUTE_IN_MILLISECONDS","ONE_HOUR_IN_MILLISECONDS","ONE_SECOND","COUNTDOWN_TIME","UPLOAD_EVENT","onComplete","onError","onProgress","UPLOAD_STATUS","uploading","completed","aborting","insufficient_data","error","SCREEN_RECORDER_STATUS","media_aborted","permission_denied","no_specified_media_found","media_in_use","invalid_media_constraints","no_chrome_flags_set","recorder_error","idle","acquiring_media","media_acquired","restarting","recording","stopping","stopped","paused","SCREEN_RECORDER_ERROR","MicPermissionDenied","AbortError","NotAllowedError","NotFoundError","NotReadableError","OverconstrainedError","TypeError","None","NoRecorder","UnSupportedBrowser","FailedToStart","CreateRecordingError","InsufficientData","SCREEN_RECORDER_EVENT","onStart","onStop","onDiscard","onDataAvailable","onDiscardDuringCountdown","onRestart","onReUpload","onReUploadFromDisk","onPause","onResume","onCountdownStart","onCountdown","onCountdownEnd","onCountdownSkip","onShareSelected","onUnexpectedEnd","TOTAL_RETRIES","ABORT_UPLOAD_RETRIES","INITIAL_RETRY_DELAY","MAX_RETRY_DELAY","DEFAULT_RETRY_CONFIG","retries","retryDelay","retryableStatuses","NETWORK_ERROR","TIMEOUT_ERROR","HAS_CHROME_NAMESPACE","chrome","_typeof","IS_EXTENSION","isNotNil","extension","IS_SAFARI","platform","name","IS_SAFARI_EXTENSION","PERMISSIONS_HELP_DOC","concat","MIME_TYPE","mp4","webmH264Opus","webmH264","webmVp9Opus","webmVp9","webmVp8Opus","webmVp8","webm","START_RECORDING_SOUND","COUNTDOWN_TICK_SOUND","STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND","RECORDING_LIMIT_REACHED_WARNING_SOUND","RECORDING_TIME_LIMIT_FREE_PLAN","RECORDING_TIME_LIMIT_PRO_PLAN","MIC_NOT_WORKING_ALERT_TIME","MIC_NOT_WORKING_SILENCE_TIMEOUT"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"constants.js","sources":["node_modules/@babel/runtime/helpers/esm/typeof.js","src/helpUrls.js","src/constants.js"],"sourcesContent":["function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","// eslint-disable-next-line @bigbinary/neeto/no-dangling-constants\nexport const HELP_DOCS_BASE_URL = \"https://help.neetorecord.com\";\n","import platform from \"platform\";\nimport { isNotNil } from \"ramda\";\n\nimport { HELP_DOCS_BASE_URL } from \"./helpUrls\";\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 COUNTDOWN_TIME = 3;\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 OverconstrainedError: \"invalid_media_constraints\",\n TypeError: \"no_chrome_flags_set\",\n None: \"\",\n NoRecorder: \"recorder_error\",\n UnSupportedBrowser: \"unsupported_browser\",\n FailedToStart: \"failed_to_start\",\n CreateRecordingError: \"create_recording_error\",\n InsufficientData: \"insufficient_data\",\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 onReUploadFromDisk: \"onReUploadFromDisk\",\n onPause: \"onPause\",\n onResume: \"onResume\",\n onCountdownStart: \"onCountdownStart\",\n onCountdown: \"onCountDown\",\n onCountdownEnd: \"onCountdownEnd\",\n onCountdownSkip: \"onCountdownSkip\",\n onShareSelected: \"onShareSelected\",\n // Fired when the capture ends without the app calling stop() — i.e. the\n // browser's \"Stop sharing\" pill or an OS-level termination (resource\n // pressure, source closed, permission revoked). The two are\n // indistinguishable in the Web/extension APIs, so consumers should surface\n // both possibilities. If no consumer subscribes, the recorder falls back to\n // finalizing the recording (stopRecording).\n onUnexpectedEnd: \"onUnexpectedEnd\",\n};\n\nexport const TOTAL_RETRIES = 15;\nexport const ABORT_UPLOAD_RETRIES = 2;\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 = `${HELP_DOCS_BASE_URL}/p/a-10efcfd7`;\n\n// Firefox refuses to start a MediaRecorder on a stream that has both audio and\n// video tracks unless the MIME string declares the audio codec too. Chromium\n// and Safari accept the video-only form and silently pick Opus/AAC. We keep\n// both variants and always prefer the codec-complete ones in\n// getSupportedMimeType so a single code path works across browsers.\nexport const MIME_TYPE = {\n mp4: \"video/mp4\",\n webmH264Opus: \"video/webm;codecs=h264,opus\",\n webmH264: \"video/webm;codecs=h264\",\n webmVp9Opus: \"video/webm;codecs=vp9,opus\",\n webmVp9: \"video/webm;codecs=vp9\",\n webmVp8Opus: \"video/webm;codecs=vp8,opus\",\n webmVp8: \"video/webm;codecs=vp8\",\n webm: \"video/webm\",\n};\n\nexport const START_RECORDING_SOUND =\n \"https://neeto-record-static-assets.s3.amazonaws.com/recording-start-sound-2.mp3\";\n\nexport const COUNTDOWN_TICK_SOUND =\n \"https://neeto-record-static-assets.s3.us-east-1.amazonaws.com/recording-tick-sound.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\nexport const MIC_NOT_WORKING_ALERT_TIME = 30;\nexport const MIC_NOT_WORKING_SILENCE_TIMEOUT =\n MIC_NOT_WORKING_ALERT_TIME * 1000;\n"],"names":["HELP_DOCS_BASE_URL","RETRYABLE_ERRORS","ONE_SECOND_IN_MILLISECONDS","HALF_A_SECOND_IN_MILLISECONDS","TWO_HUNDRED_MILLISECONDS","ONE_MINUTE_IN_MILLISECONDS","ONE_HOUR_IN_MILLISECONDS","ONE_SECOND","COUNTDOWN_TIME","UPLOAD_EVENT","onComplete","onError","onProgress","UPLOAD_STATUS","uploading","completed","aborting","insufficient_data","error","SCREEN_RECORDER_STATUS","media_aborted","permission_denied","no_specified_media_found","media_in_use","invalid_media_constraints","no_chrome_flags_set","recorder_error","idle","acquiring_media","media_acquired","restarting","recording","stopping","stopped","paused","SCREEN_RECORDER_ERROR","MicPermissionDenied","AbortError","NotAllowedError","NotFoundError","NotReadableError","OverconstrainedError","TypeError","None","NoRecorder","UnSupportedBrowser","FailedToStart","CreateRecordingError","InsufficientData","SCREEN_RECORDER_EVENT","onStart","onStop","onDiscard","onDataAvailable","onDiscardDuringCountdown","onRestart","onReUpload","onReUploadFromDisk","onPause","onResume","onCountdownStart","onCountdown","onCountdownEnd","onCountdownSkip","onShareSelected","onUnexpectedEnd","TOTAL_RETRIES","ABORT_UPLOAD_RETRIES","INITIAL_RETRY_DELAY","MAX_RETRY_DELAY","DEFAULT_RETRY_CONFIG","retries","retryDelay","retryableStatuses","NETWORK_ERROR","TIMEOUT_ERROR","HAS_CHROME_NAMESPACE","chrome","_typeof","IS_EXTENSION","isNotNil","extension","IS_SAFARI","platform","name","IS_SAFARI_EXTENSION","PERMISSIONS_HELP_DOC","concat","MIME_TYPE","mp4","webmH264Opus","webmH264","webmVp9Opus","webmVp9","webmVp8Opus","webmVp8","webm","START_RECORDING_SOUND","COUNTDOWN_TICK_SOUND","STOP_RECORDING_DUE_TO_LIMIT_REACHED_SOUND","RECORDING_LIMIT_REACHED_WARNING_SOUND","RECORDING_TIME_LIMIT_FREE_PLAN","RECORDING_TIME_LIMIT_PRO_PLAN","MIC_NOT_WORKING_ALERT_TIME","MIC_NOT_WORKING_SILENCE_TIMEOUT"],"mappings":"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","x_google_ignoreList":[0]}
package/core.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import axios from 'axios';
2
- import { isNotEmpty, existsBy, isNot, noop } from '@bigbinary/neeto-cist';
3
- import { UPLOAD_EVENT, UPLOAD_STATUS, SCREEN_RECORDER_STATUS as SCREEN_RECORDER_STATUS$1, COUNTDOWN_TIME } from '@bigbinary/neeto-media-recorder/constants';
2
+ import { existsBy, isNotEmpty, isNot, noop } from '@bigbinary/neeto-cist';
3
+ import { UPLOAD_STATUS, UPLOAD_EVENT, SCREEN_RECORDER_STATUS as SCREEN_RECORDER_STATUS$1, COUNTDOWN_TIME } from '@bigbinary/neeto-media-recorder/constants';
4
4
  import { useMultipartS3UploadStatus as useMultipartS3UploadStatus$1, getMultipartS3Uploader as getMultipartS3Uploader$1 } from '@bigbinary/neeto-media-recorder/core';
5
5
  import { isNotNil, min, isNil, identity, isEmpty, pick, not } from 'ramda';
6
6
  import platform from 'platform';
@@ -82,7 +82,7 @@ function toPrimitive(t, r) {
82
82
  if ("object" != _typeof$1(t) || !t) return t;
83
83
  var e = t[Symbol.toPrimitive];
84
84
  if (void 0 !== e) {
85
- var i = e.call(t, r || "default");
85
+ var i = e.call(t, r);
86
86
  if ("object" != _typeof$1(i)) return i;
87
87
  throw new TypeError("@@toPrimitive must return a primitive value.");
88
88
  }
@@ -97,21 +97,21 @@ function toPropertyKey(t) {
97
97
  function _defineProperties(e, r) {
98
98
  for (var t = 0; t < r.length; t++) {
99
99
  var o = r[t];
100
- o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);
100
+ o.enumerable = o.enumerable || false, o.configurable = true, "value" in o && (o.writable = true), Object.defineProperty(e, toPropertyKey(o.key), o);
101
101
  }
102
102
  }
103
103
  function _createClass(e, r, t) {
104
104
  return r && _defineProperties(e.prototype, r), Object.defineProperty(e, "prototype", {
105
- writable: !1
105
+ writable: false
106
106
  }), e;
107
107
  }
108
108
 
109
109
  function _defineProperty(e, r, t) {
110
110
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
111
111
  value: t,
112
- enumerable: !0,
113
- configurable: !0,
114
- writable: !0
112
+ enumerable: true,
113
+ configurable: true,
114
+ writable: true
115
115
  }) : e[r] = t, e;
116
116
  }
117
117
 
@@ -188,9 +188,9 @@ var _typeofExports = _typeof.exports;
188
188
  function define(t, e, r) {
189
189
  return Object.defineProperty(t, e, {
190
190
  value: r,
191
- enumerable: !0,
192
- configurable: !0,
193
- writable: !0
191
+ enumerable: true,
192
+ configurable: true,
193
+ writable: true
194
194
  }), t[e];
195
195
  }
196
196
  try {
@@ -283,7 +283,7 @@ var _typeofExports = _typeof.exports;
283
283
  if ("throw" === i) throw a;
284
284
  return {
285
285
  value: t,
286
- done: !0
286
+ done: true
287
287
  };
288
288
  }
289
289
  for (n.method = i, n.arg = a;;) {
@@ -334,7 +334,7 @@ var _typeofExports = _typeof.exports;
334
334
  function Context(t) {
335
335
  this.tryEntries = [{
336
336
  tryLoc: "root"
337
- }], t.forEach(pushTryEntry, this), this.reset(!0);
337
+ }], t.forEach(pushTryEntry, this), this.reset(true);
338
338
  }
339
339
  function values(e) {
340
340
  if (e || "" === e) {
@@ -344,8 +344,8 @@ var _typeofExports = _typeof.exports;
344
344
  if (!isNaN(e.length)) {
345
345
  var o = -1,
346
346
  i = function next() {
347
- for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
348
- return next.value = t, next.done = !0, next;
347
+ for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = false, next;
348
+ return next.value = t, next.done = true, next;
349
349
  };
350
350
  return i.next = i;
351
351
  }
@@ -354,10 +354,10 @@ var _typeofExports = _typeof.exports;
354
354
  }
355
355
  return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
356
356
  value: GeneratorFunctionPrototype,
357
- configurable: !0
357
+ configurable: true
358
358
  }), o(GeneratorFunctionPrototype, "constructor", {
359
359
  value: GeneratorFunction,
360
- configurable: !0
360
+ configurable: true
361
361
  }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
362
362
  var e = "function" == typeof t && t.constructor;
363
363
  return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
@@ -386,17 +386,17 @@ var _typeofExports = _typeof.exports;
386
386
  return r.reverse(), function next() {
387
387
  for (; r.length;) {
388
388
  var t = r.pop();
389
- if (t in e) return next.value = t, next.done = !1, next;
389
+ if (t in e) return next.value = t, next.done = false, next;
390
390
  }
391
- return next.done = !0, next;
391
+ return next.done = true, next;
392
392
  };
393
393
  }, e.values = values, Context.prototype = {
394
394
  constructor: Context,
395
395
  reset: function reset(e) {
396
- if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
396
+ if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = false, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
397
397
  },
398
398
  stop: function stop() {
399
- this.done = !0;
399
+ this.done = true;
400
400
  var t = this.tryEntries[0].completion;
401
401
  if ("throw" === t.type) throw t.arg;
402
402
  return this.rval;
@@ -415,10 +415,10 @@ var _typeofExports = _typeof.exports;
415
415
  var c = n.call(i, "catchLoc"),
416
416
  u = n.call(i, "finallyLoc");
417
417
  if (c && u) {
418
- if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
418
+ if (this.prev < i.catchLoc) return handle(i.catchLoc, true);
419
419
  if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
420
420
  } else if (c) {
421
- if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
421
+ if (this.prev < i.catchLoc) return handle(i.catchLoc, true);
422
422
  } else {
423
423
  if (!u) throw Error("try statement without catch or finally");
424
424
  if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
@@ -537,7 +537,7 @@ const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.
537
537
  var native = { randomUUID };
538
538
 
539
539
  function v4(options, buf, offset) {
540
- if (native.randomUUID && !buf && !options) {
540
+ if (native.randomUUID && true && !options) {
541
541
  return native.randomUUID();
542
542
  }
543
543
  options = options || {};
@@ -591,10 +591,6 @@ var SCREEN_RECORDER_EVENT = {
591
591
  onDataAvailable: "onDataAvailable",
592
592
  onDiscardDuringCountdown: "onDiscardDuringCountdown",
593
593
  onRestart: "onRestart",
594
- onReUpload: "onReUpload",
595
- onReUploadFromDisk: "onReUploadFromDisk",
596
- onPause: "onPause",
597
- onResume: "onResume",
598
594
  onCountdownStart: "onCountdownStart",
599
595
  onCountdown: "onCountDown",
600
596
  onCountdownEnd: "onCountdownEnd",
@@ -614,9 +610,7 @@ var INITIAL_RETRY_DELAY = 4000;
614
610
  var MAX_RETRY_DELAY = 16000;
615
611
  var DEFAULT_RETRY_CONFIG = {
616
612
  retries: TOTAL_RETRIES,
617
- retryDelay: INITIAL_RETRY_DELAY,
618
- retryableStatuses: []
619
- };
613
+ retryDelay: INITIAL_RETRY_DELAY};
620
614
  var HAS_CHROME_NAMESPACE = (typeof chrome === "undefined" ? "undefined" : _typeof$1(chrome)) === "object";
621
615
  var IS_EXTENSION = HAS_CHROME_NAMESPACE && isNotNil(chrome.extension);
622
616
  var IS_SAFARI = platform.name === "Safari";
@@ -653,11 +647,11 @@ function _inherits(t, e) {
653
647
  t.prototype = Object.create(e && e.prototype, {
654
648
  constructor: {
655
649
  value: t,
656
- writable: !0,
657
- configurable: !0
650
+ writable: true,
651
+ configurable: true
658
652
  }
659
653
  }), Object.defineProperty(t, "prototype", {
660
- writable: !1
654
+ writable: false
661
655
  }), e && _setPrototypeOf(t, e);
662
656
  }
663
657
 
@@ -718,9 +712,9 @@ function _wrapNativeSuper(t) {
718
712
  return Wrapper.prototype = Object.create(t.prototype, {
719
713
  constructor: {
720
714
  value: Wrapper,
721
- enumerable: !1,
722
- writable: !0,
723
- configurable: !0
715
+ enumerable: false,
716
+ writable: true,
717
+ configurable: true
724
718
  }
725
719
  }), _setPrototypeOf(Wrapper, t);
726
720
  }, _wrapNativeSuper(t);
@@ -1009,7 +1003,7 @@ var calculateUploadProgress = function calculateUploadProgress(uploadProgress) {
1009
1003
  };
1010
1004
 
1011
1005
  function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1012
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1006
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1013
1007
  function _classPrivateFieldInitSpec$1(e, t, a) { _checkPrivateRedeclaration$1(e, t), t.set(e, a); }
1014
1008
  function _checkPrivateRedeclaration$1(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
1015
1009
  var _recordingId = /*#__PURE__*/new WeakMap();
@@ -1121,10 +1115,28 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
1121
1115
  return _classPrivateFieldSet(_this, _mimeType$1, mimeType);
1122
1116
  });
1123
1117
  _defineProperty(this, "setRecording", function (recordingId, uploadId) {
1118
+ var isNewUpload = _classPrivateFieldGet(_this, _recordingId) !== recordingId || _classPrivateFieldGet(_this, _uploadId) !== uploadId;
1124
1119
  _classPrivateFieldGet(_this, _logger$1).info("setRecording", {
1125
1120
  recordingId: recordingId,
1126
- uploadId: uploadId
1121
+ uploadId: uploadId,
1122
+ isNewUpload: isNewUpload
1127
1123
  });
1124
+ if (isNewUpload) {
1125
+ // Part numbers and part-upload responses are only meaningful for the
1126
+ // uploadId they were created under. Carrying them across makes
1127
+ // completeUpload claim parts S3 never received for the new upload, which
1128
+ // S3 rejects with InvalidPart.
1129
+ //
1130
+ // #unUploadedChunks is intentionally NOT cleared: the re-upload flow
1131
+ // push()es the blob before the replacement recording exists, so the
1132
+ // buffer legitimately belongs to the upload being set up here.
1133
+ _classPrivateFieldSet(_this, _partNumber, 1);
1134
+ _classPrivateFieldSet(_this, _s3PartUploadPromises, []);
1135
+ _classPrivateFieldSet(_this, _pendingS3ChunkUploads, []);
1136
+ _classPrivateFieldSet(_this, _failedUpload, []);
1137
+ _classPrivateFieldSet(_this, _uploadProgress, {});
1138
+ _classPrivateFieldSet(_this, _lastLoggedOverallPercent, -1);
1139
+ }
1128
1140
  _classPrivateFieldSet(_this, _recordingId, recordingId);
1129
1141
  _classPrivateFieldSet(_this, _uploadId, uploadId);
1130
1142
  _classPrivateFieldSet(_this, _abortController, new AbortController());
@@ -1216,6 +1228,11 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
1216
1228
  });
1217
1229
  uploadChunkToS3Promise = _classPrivateFieldGet(_this, _uploadChunkToS).call(_this, _classPrivateFieldGet(_this, _unUploadedChunks));
1218
1230
  _classPrivateFieldGet(_this, _pendingS3ChunkUploads).push(uploadChunkToS3Promise);
1231
+ // #uploadChunkToS3 snapshots the chunks into a Blob synchronously
1232
+ // before its first await, so the buffer is safe to release here. Not
1233
+ // releasing it re-uploads the same bytes as an extra part on any
1234
+ // subsequent completion attempt (same pattern as push()).
1235
+ _classPrivateFieldSet(_this, _unUploadedChunks, []);
1219
1236
  }
1220
1237
 
1221
1238
  /**
@@ -1370,7 +1387,6 @@ var MultipartS3Uploader = /*#__PURE__*/function () {
1370
1387
  // Don't let a rejected completeUpload stop us from issuing the abort API
1371
1388
  // call below — we still need to release the upload server-side.
1372
1389
  phase = "awaitCompleteUploadPromise";
1373
- // eslint-disable-next-line promise/prefer-await-to-then
1374
1390
  _context2.next = 18;
1375
1391
  return Promise.resolve(_classPrivateFieldGet(_this, _completeUploadPromise))["catch"](function () {});
1376
1392
  case 18:
@@ -1708,12 +1724,12 @@ function _iterableToArrayLimit(r, l) {
1708
1724
  i,
1709
1725
  u,
1710
1726
  a = [],
1711
- f = !0,
1712
- o = !1;
1727
+ f = true,
1728
+ o = false;
1713
1729
  try {
1714
1730
  if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
1715
1731
  } catch (r) {
1716
- o = !0, n = r;
1732
+ o = true, n = r;
1717
1733
  } finally {
1718
1734
  try {
1719
1735
  if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
@@ -1735,14 +1751,11 @@ function _slicedToArray(r, e) {
1735
1751
 
1736
1752
  // https://www.w3.org/TR/screen-capture/#displaycapturesurfacetype
1737
1753
  var DISPLAY_SURFACE = {
1738
- monitor: "monitor",
1739
- window: "window",
1740
- browser: "browser"
1741
- };
1754
+ monitor: "monitor"};
1742
1755
  // max 4k
1743
1756
 
1744
1757
  function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1745
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1758
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1746
1759
  var initialState = {
1747
1760
  status: SCREEN_RECORDER_STATUS$1.idle,
1748
1761
  error: "",
@@ -1761,7 +1774,7 @@ var prepareStore = function prepareStore() {
1761
1774
  };
1762
1775
 
1763
1776
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1764
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1777
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1765
1778
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
1766
1779
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
1767
1780
  var _audio = /*#__PURE__*/new WeakMap();