videomail-client 11.4.8 → 11.4.10

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.
@@ -10642,7 +10642,7 @@ var __webpack_exports__ = {};
10642
10642
  var client = __webpack_require__("./node_modules/superagent/lib/client.js");
10643
10643
  var client_default = /*#__PURE__*/ __webpack_require__.n(client);
10644
10644
  var package_namespaceObject = {
10645
- rE: "11.4.8"
10645
+ rE: "11.4.10"
10646
10646
  };
10647
10647
  var defined = __webpack_require__("./node_modules/defined/index.js");
10648
10648
  var defined_default = /*#__PURE__*/ __webpack_require__.n(defined);
@@ -14070,7 +14070,7 @@ var __webpack_exports__ = {};
14070
14070
  case error_VideomailError.NOT_READABLE_ERROR:
14071
14071
  case error_VideomailError.TRACK_START_ERROR:
14072
14072
  message = "No access to webcam";
14073
- explanation = "A hardware error occurred which prevented access to your webcam";
14073
+ explanation = "Perhaps you are already using it in another browser?";
14074
14074
  classList.push(error_VideomailError.WEBCAM_PROBLEM);
14075
14075
  break;
14076
14076
  case error_VideomailError.INVALID_STATE_ERROR:
@@ -14459,7 +14459,7 @@ var __webpack_exports__ = {};
14459
14459
  }
14460
14460
  } else {
14461
14461
  const err = error_createError({
14462
- message: "Videomail key for preview is missing!",
14462
+ message: "Videomail key and its value for previewing is missing",
14463
14463
  options: this.options
14464
14464
  });
14465
14465
  this.emit("ERROR", {
@@ -16905,7 +16905,8 @@ var __webpack_exports__ = {};
16905
16905
  key: this.key,
16906
16906
  width,
16907
16907
  height,
16908
- hasAudio
16908
+ hasAudio,
16909
+ duration: -1
16909
16910
  });
16910
16911
  if (this.stopTime) this.waitingTime = Date.now() - this.stopTime;
16911
16912
  null != this.recordingStats || (this.recordingStats = {});
@@ -17310,7 +17311,7 @@ var __webpack_exports__ = {};
17310
17311
  if (this.userMedia) this.userMedia.unloadRemainingEventListeners();
17311
17312
  if (this.submitting) ;
17312
17313
  else if (this.stream) {
17313
- this.options.logger.debug("Recorder: ending stream ...");
17314
+ this.options.logger.debug("Recorder: destroying stream ...");
17314
17315
  this.stream.destroy();
17315
17316
  this.stream = void 0;
17316
17317
  }
@@ -17475,7 +17476,7 @@ var __webpack_exports__ = {};
17475
17476
  this.loop.on("update", (_deltaTime, elapsedTime)=>{
17476
17477
  let avgFPS;
17477
17478
  avgFPS = 0 !== elapsedTime ? Math.round(this.framesCount / elapsedTime * 1000) : void 0;
17478
- this.options.logger.debug(`Recorder: avgFps = ${avgFPS}, framesCount = ${this.framesCount}`);
17479
+ this.options.logger.debug(`Recorder updates avgFps = ${avgFPS} at frame ${this.framesCount}`);
17479
17480
  });
17480
17481
  this.loop.start();
17481
17482
  }
@@ -1,5 +1,5 @@
1
1
  import VideomailClient from "./client";
2
- import { Command, CommandArgs } from "./types/command";
2
+ import { Command, VideomailCommandArgs } from "./types/command";
3
3
  import DeliveryRecord from "./types/DeliveryRecord";
4
4
  import { EmailAddress, EmailAddresses } from "./types/EmailAddress";
5
5
  import { FullVideomailErrorData, VideomailErrorData } from "./types/error";
@@ -8,5 +8,5 @@ import { VideomailClientOptions } from "./types/options";
8
8
  import RecordingStats from "./types/RecordingStats";
9
9
  import Videomail, { PartialVideomail } from "./types/Videomail";
10
10
  import { VideoType, VideoTypeType } from "./types/VideoType";
11
- export type { Command, CommandArgs, DeliveryRecord, EmailAddress, EmailAddresses, FullVideomailErrorData, PartialVideomail, RecordingStats, Videomail, VideomailClientOptions, VideomailErrorData, VideomailEvents, VideoTypeType, };
11
+ export type { Command, DeliveryRecord, EmailAddress, EmailAddresses, FullVideomailErrorData, PartialVideomail, RecordingStats, Videomail, VideomailClientOptions, VideomailCommandArgs, VideomailErrorData, VideomailEvents, VideoTypeType, };
12
12
  export { VideomailClient, VideoType };
package/dist/esm/index.js CHANGED
@@ -3607,7 +3607,7 @@ const constants = {
3607
3607
  }
3608
3608
  };
3609
3609
  var package_namespaceObject = {
3610
- rE: "11.4.8"
3610
+ rE: "11.4.10"
3611
3611
  };
3612
3612
  const VideoType = {
3613
3613
  WebM: "webm",
@@ -3883,7 +3883,7 @@ function createError(errorParams) {
3883
3883
  case error_VideomailError.NOT_READABLE_ERROR:
3884
3884
  case error_VideomailError.TRACK_START_ERROR:
3885
3885
  message = "No access to webcam";
3886
- explanation = "A hardware error occurred which prevented access to your webcam";
3886
+ explanation = "Perhaps you are already using it in another browser?";
3887
3887
  classList.push(error_VideomailError.WEBCAM_PROBLEM);
3888
3888
  break;
3889
3889
  case error_VideomailError.INVALID_STATE_ERROR:
@@ -4156,7 +4156,7 @@ class Form extends util_Despot {
4156
4156
  }
4157
4157
  } else {
4158
4158
  const err = error_createError({
4159
- message: "Videomail key for preview is missing!",
4159
+ message: "Videomail key and its value for previewing is missing",
4160
4160
  options: this.options
4161
4161
  });
4162
4162
  this.emit("ERROR", {
@@ -6370,7 +6370,8 @@ class Recorder extends util_Despot {
6370
6370
  key: this.key,
6371
6371
  width,
6372
6372
  height,
6373
- hasAudio
6373
+ hasAudio,
6374
+ duration: -1
6374
6375
  });
6375
6376
  if (this.stopTime) this.waitingTime = Date.now() - this.stopTime;
6376
6377
  this.recordingStats ??= {};
@@ -6768,7 +6769,7 @@ class Recorder extends util_Despot {
6768
6769
  if (this.userMedia) this.userMedia.unloadRemainingEventListeners();
6769
6770
  if (this.submitting) ;
6770
6771
  else if (this.stream) {
6771
- this.options.logger.debug("Recorder: ending stream ...");
6772
+ this.options.logger.debug("Recorder: destroying stream ...");
6772
6773
  this.stream.destroy();
6773
6774
  this.stream = void 0;
6774
6775
  }
@@ -6928,7 +6929,7 @@ class Recorder extends util_Despot {
6928
6929
  this.loop.on("update", (_deltaTime, elapsedTime)=>{
6929
6930
  let avgFPS;
6930
6931
  avgFPS = 0 !== elapsedTime ? Math.round(this.framesCount / elapsedTime * 1000) : void 0;
6931
- this.options.logger.debug(`Recorder: avgFps = ${avgFPS}, framesCount = ${this.framesCount}`);
6932
+ this.options.logger.debug(`Recorder updates avgFps = ${avgFPS} at frame ${this.framesCount}`);
6932
6933
  });
6933
6934
  this.loop.start();
6934
6935
  }
@@ -1,13 +1,14 @@
1
1
  import { ErrorObject } from "serialize-error";
2
- export interface CommandArgs {
2
+ export interface VideomailCommandArgs {
3
3
  frame?: number;
4
4
  key?: string | undefined;
5
5
  err?: ErrorObject;
6
6
  sample?: number;
7
7
  mp4?: string;
8
8
  webm?: string;
9
+ duration?: number;
9
10
  }
10
11
  export interface Command {
11
12
  command: string;
12
- args?: CommandArgs;
13
+ args?: VideomailCommandArgs;
13
14
  }
@@ -22,11 +22,12 @@ export interface ProgressParams {
22
22
  frameProgress: string;
23
23
  sampleProgress?: string | undefined;
24
24
  }
25
- export interface PreviewParams {
25
+ export interface VideomailPreviewParams {
26
26
  key?: string | undefined;
27
- width?: number | undefined;
28
- height?: number | undefined;
27
+ width: number | undefined;
28
+ height: number | undefined;
29
29
  hasAudio: boolean;
30
+ duration: number;
30
31
  }
31
32
  export interface StoppedParams {
32
33
  recordingStats?: RecordingStats | undefined;
@@ -67,7 +68,7 @@ interface VideomailEvents {
67
68
  LOADING_USER_MEDIA: () => void;
68
69
  NOTIFYING: () => void;
69
70
  PAUSED: () => void;
70
- PREVIEW: (params?: PreviewParams) => void;
71
+ PREVIEW: (params?: VideomailPreviewParams) => void;
71
72
  PREVIEW_SHOWN: () => void;
72
73
  PROGRESS: (params: ProgressParams) => void;
73
74
  RECORDING: (params: RecordingParams) => void;
@@ -32,7 +32,7 @@ declare class Despot {
32
32
  LOADING_USER_MEDIA: (() => void)[];
33
33
  NOTIFYING: (() => void)[];
34
34
  PAUSED: (() => void)[];
35
- PREVIEW: ((params?: import("../types/events").PreviewParams) => void)[];
35
+ PREVIEW: ((params?: import("../types/events").VideomailPreviewParams) => void)[];
36
36
  PREVIEW_SHOWN: (() => void)[];
37
37
  PROGRESS: ((params: import("../types/events").ProgressParams) => void)[];
38
38
  RECORDING: ((params: import("../types/events").RecordingParams) => void)[];
package/dist/umd/index.js CHANGED
@@ -10648,7 +10648,7 @@
10648
10648
  var client = __webpack_require__("./node_modules/superagent/lib/client.js");
10649
10649
  var client_default = /*#__PURE__*/ __webpack_require__.n(client);
10650
10650
  var package_namespaceObject = {
10651
- rE: "11.4.8"
10651
+ rE: "11.4.10"
10652
10652
  };
10653
10653
  var defined = __webpack_require__("./node_modules/defined/index.js");
10654
10654
  var defined_default = /*#__PURE__*/ __webpack_require__.n(defined);
@@ -14058,7 +14058,7 @@
14058
14058
  case error_VideomailError.NOT_READABLE_ERROR:
14059
14059
  case error_VideomailError.TRACK_START_ERROR:
14060
14060
  message = "No access to webcam";
14061
- explanation = "A hardware error occurred which prevented access to your webcam";
14061
+ explanation = "Perhaps you are already using it in another browser?";
14062
14062
  classList.push(error_VideomailError.WEBCAM_PROBLEM);
14063
14063
  break;
14064
14064
  case error_VideomailError.INVALID_STATE_ERROR:
@@ -14444,7 +14444,7 @@
14444
14444
  }
14445
14445
  } else {
14446
14446
  const err = error_createError({
14447
- message: "Videomail key for preview is missing!",
14447
+ message: "Videomail key and its value for previewing is missing",
14448
14448
  options: this.options
14449
14449
  });
14450
14450
  this.emit("ERROR", {
@@ -16738,7 +16738,8 @@
16738
16738
  key: this.key,
16739
16739
  width,
16740
16740
  height,
16741
- hasAudio
16741
+ hasAudio,
16742
+ duration: -1
16742
16743
  });
16743
16744
  if (this.stopTime) this.waitingTime = Date.now() - this.stopTime;
16744
16745
  this.recordingStats ??= {};
@@ -17136,7 +17137,7 @@
17136
17137
  if (this.userMedia) this.userMedia.unloadRemainingEventListeners();
17137
17138
  if (this.submitting) ;
17138
17139
  else if (this.stream) {
17139
- this.options.logger.debug("Recorder: ending stream ...");
17140
+ this.options.logger.debug("Recorder: destroying stream ...");
17140
17141
  this.stream.destroy();
17141
17142
  this.stream = void 0;
17142
17143
  }
@@ -17296,7 +17297,7 @@
17296
17297
  this.loop.on("update", (_deltaTime, elapsedTime)=>{
17297
17298
  let avgFPS;
17298
17299
  avgFPS = 0 !== elapsedTime ? Math.round(this.framesCount / elapsedTime * 1000) : void 0;
17299
- this.options.logger.debug(`Recorder: avgFps = ${avgFPS}, framesCount = ${this.framesCount}`);
17300
+ this.options.logger.debug(`Recorder updates avgFps = ${avgFPS} at frame ${this.framesCount}`);
17300
17301
  });
17301
17302
  this.loop.start();
17302
17303
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "videomail-client",
3
- "version": "11.4.8",
3
+ "version": "11.4.10",
4
4
  "description": "A wicked npm package to record videos directly in the browser, wohooo!",
5
5
  "keywords": [
6
6
  "webcam",
@@ -76,26 +76,26 @@
76
76
  "devDependencies": {
77
77
  "@chromatic-com/storybook": "4.1.1",
78
78
  "@eslint/config-inspector": "1.3.0",
79
- "@eslint/js": "9.36.0",
79
+ "@eslint/js": "9.37.0",
80
80
  "@rsbuild/plugin-node-polyfill": "1.4.2",
81
81
  "@rsbuild/plugin-stylus": "1.2.0",
82
82
  "@rsdoctor/rspack-plugin": "1.3.1",
83
83
  "@rslib/core": "0.13.2",
84
- "@storybook/addon-a11y": "9.1.8",
85
- "@storybook/addon-docs": "9.1.8",
86
- "@storybook/addon-links": "9.1.8",
87
- "@storybook/html": "9.1.8",
84
+ "@storybook/addon-a11y": "9.1.9",
85
+ "@storybook/addon-docs": "9.1.9",
86
+ "@storybook/addon-links": "9.1.9",
87
+ "@storybook/html": "9.1.9",
88
88
  "@tsconfig/node22": "22.0.2",
89
89
  "@tsconfig/strictest": "2.0.6",
90
90
  "@types/defined": "1.0.2",
91
91
  "@types/node": "22.18.6",
92
92
  "@types/superagent": "8.1.9",
93
93
  "@types/ua-parser-js": "0.7.39",
94
- "@vitest/eslint-plugin": "1.3.13",
94
+ "@vitest/eslint-plugin": "1.3.16",
95
95
  "audit-ci": "7.1.0",
96
96
  "chromatic": "13.3.0",
97
97
  "cross-env": "10.1.0",
98
- "eslint": "9.36.0",
98
+ "eslint": "9.37.0",
99
99
  "eslint-import-resolver-typescript": "4.4.4",
100
100
  "eslint-plugin-de-morgan": "2.0.0",
101
101
  "eslint-plugin-depend": "1.3.1",
@@ -105,7 +105,7 @@
105
105
  "eslint-plugin-regexp": "2.10.0",
106
106
  "eslint-plugin-security": "3.0.1",
107
107
  "eslint-plugin-simple-import-sort": "12.1.1",
108
- "eslint-plugin-storybook": "9.1.8",
108
+ "eslint-plugin-storybook": "9.1.9",
109
109
  "globals": "16.4.0",
110
110
  "jsdom": "27.0.0",
111
111
  "msw": "2.11.3",
@@ -115,7 +115,7 @@
115
115
  "prettier-plugin-packagejson": "2.5.19",
116
116
  "prettier-plugin-sh": "0.18.0",
117
117
  "release-it": "19.0.5",
118
- "storybook": "9.1.8",
118
+ "storybook": "9.1.9",
119
119
  "storybook-html-rsbuild": "2.1.1",
120
120
  "type-fest": "5.0.1",
121
121
  "typescript": "5.9.3",