videomail-client 13.6.11 → 13.6.13
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/README.md +6 -6
- package/dist/cjs/index.cjs +12 -12
- package/dist/esm/constants.d.ts +1 -1
- package/dist/esm/index.js +12 -12
- package/dist/esm/types/Videomail.d.ts +2 -2
- package/dist/esm/types/error.d.ts +1 -1
- package/dist/esm/types/options.d.ts +1 -1
- package/dist/esm/util/error/VideomailError.d.ts +1 -1
- package/dist/esm/wrappers/form.d.ts +2 -2
- package/dist/umd/index.js +12 -12
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -42,7 +42,7 @@ That's it. Easy as apple pie.
|
|
|
42
42
|
|
|
43
43
|
## Demo
|
|
44
44
|
|
|
45
|
-
A mirror of latest videomail-client can be seen on [videomail-client.netlify.
|
|
45
|
+
A mirror of latest videomail-client can be seen on [videomail-client.netlify.app](https://videomail-client.netlify.app)
|
|
46
46
|
|
|
47
47
|
### Real world usages
|
|
48
48
|
|
|
@@ -59,7 +59,7 @@ There are plenty if you just ask us. And way more will follow, we are rolling ..
|
|
|
59
59
|
|
|
60
60
|
There are many options you can pass onto the VideomailClient constructor. Check out the annotated source code at [src/options.ts](https://github.com/binarykitchen/videomail-client/blob/master/src/options.ts)
|
|
61
61
|
|
|
62
|
-
In most cases, these defaults are good enough.
|
|
62
|
+
In most cases, these defaults are good enough. Only one option, `whitelistKey` should be changed when you deploy your own site, see <a href="#whitelist">Whitelist</a>.
|
|
63
63
|
|
|
64
64
|
Looking at the examples in the `/src/stories` folder should give you some ideas how to use these options.
|
|
65
65
|
|
|
@@ -92,7 +92,7 @@ Looking at the examples in the `/src/stories` folder should give you some ideas
|
|
|
92
92
|
The constructor accepts a JSON with optional <a href="#options">options</a>. Example:
|
|
93
93
|
|
|
94
94
|
```ts
|
|
95
|
-
const videomailClient = new VideomailClient({
|
|
95
|
+
const videomailClient = new VideomailClient({ whitelistKey: "my whitelist key" });
|
|
96
96
|
```
|
|
97
97
|
|
|
98
98
|
<a name="on"></a>
|
|
@@ -233,14 +233,14 @@ It's emitted in the SUBMITTED event under the videomail object:
|
|
|
233
233
|
"width": 320,
|
|
234
234
|
"height": 240,
|
|
235
235
|
"videomailClientVersion": "2.4.11",
|
|
236
|
-
"
|
|
236
|
+
"whitelistKey": "videomail-client-demo",
|
|
237
237
|
"alias": "some-subject-183622500964",
|
|
238
238
|
"dateCreated": 1541130589811,
|
|
239
239
|
"url": "https://videomail.io/videomail/some-subject-150322500964",
|
|
240
240
|
"key": "11e8-de52-55ac2630-b22b-71959562a989",
|
|
241
241
|
"expirationPretty": "1 hour",
|
|
242
242
|
"expiresAfter": 1541134189811,
|
|
243
|
-
"
|
|
243
|
+
"siteName": "Videomail Client Example",
|
|
244
244
|
"webm": "https://videomail.io/videomail/some-subject-183622500964/type/webm/",
|
|
245
245
|
"poster": "https://videomail.io/videomail/some-subject-183622500964/poster/",
|
|
246
246
|
"dateCreatedPretty": "Nov 2, 2018, 4:49 PM",
|
|
@@ -280,7 +280,7 @@ Otherwise only the videomail alias is in the form body and will have to call `vi
|
|
|
280
280
|
|
|
281
281
|
Examples will work right away on [https://localhost:8443](https://localhost:8443). This is because localhost is whitelisted on the remote Videomail server. `https://localhost` and `https://localhost:443` are whitelisted too for local development. Other IP addresses won't work. If this is a problem, contact me and I can whitelist more.
|
|
282
282
|
|
|
283
|
-
In other words, if your web server is connected through a domain besides localhost, the Videomail-Client is restricted from sending the media packets to the remote Videomail server which is responsible for storing and sending videomails. To fix that, just lodge a whitelist request at [https://videomail.io/whitelist](https://videomail.io/whitelist). Then you should get a new
|
|
283
|
+
In other words, if your web server is connected through a domain besides localhost, the Videomail-Client is restricted from sending the media packets to the remote Videomail server which is responsible for storing and sending videomails. To fix that, just lodge a whitelist request at [https://videomail.io/whitelist](https://videomail.io/whitelist). Then you should get a new whitelist key and a list of whitelisted URLs for your own usage.
|
|
284
284
|
|
|
285
285
|
<a name="compatibility"></a>
|
|
286
286
|
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -10571,7 +10571,7 @@ var __webpack_exports__ = {};
|
|
|
10571
10571
|
MP4: "mp4"
|
|
10572
10572
|
};
|
|
10573
10573
|
const constants = {
|
|
10574
|
-
|
|
10574
|
+
WHITELIST_KEY_LABEL: "x-videomail-whitelist-key",
|
|
10575
10575
|
VERSION_LABEL: "videomailClientVersion",
|
|
10576
10576
|
public: {
|
|
10577
10577
|
ENC_TYPE_APP_JSON: "application/json",
|
|
@@ -10731,7 +10731,7 @@ var __webpack_exports__ = {};
|
|
|
10731
10731
|
var client = __webpack_require__("./node_modules/superagent/lib/client.js");
|
|
10732
10732
|
var client_default = /*#__PURE__*/ __webpack_require__.n(client);
|
|
10733
10733
|
var package_namespaceObject = {
|
|
10734
|
-
rE: "13.6.
|
|
10734
|
+
rE: "13.6.13"
|
|
10735
10735
|
};
|
|
10736
10736
|
function isAudioEnabled(options) {
|
|
10737
10737
|
return Boolean(options.audio.enabled);
|
|
@@ -14055,10 +14055,10 @@ var __webpack_exports__ = {};
|
|
|
14055
14055
|
}
|
|
14056
14056
|
constructor(message, options, classList, errData){
|
|
14057
14057
|
var _ref;
|
|
14058
|
-
super(message, errData), VideomailError_define_property(this, "title", "Error from videomail-client npm package"), VideomailError_define_property(this, "location", window.location.href), VideomailError_define_property(this, "logLines", void 0), VideomailError_define_property(this, "
|
|
14058
|
+
super(message, errData), VideomailError_define_property(this, "title", "Error from videomail-client npm package"), VideomailError_define_property(this, "location", window.location.href), VideomailError_define_property(this, "logLines", void 0), VideomailError_define_property(this, "whitelistKey", void 0), VideomailError_define_property(this, "cookie", void 0), VideomailError_define_property(this, "err", void 0), VideomailError_define_property(this, "promise", void 0), VideomailError_define_property(this, "reason", void 0), VideomailError_define_property(this, "browser", void 0), VideomailError_define_property(this, "cpu", void 0), VideomailError_define_property(this, "device", void 0), VideomailError_define_property(this, "engine", void 0), VideomailError_define_property(this, "os", void 0), VideomailError_define_property(this, "screen", void 0), VideomailError_define_property(this, "orientation", void 0), VideomailError_define_property(this, "classList", void 0);
|
|
14059
14059
|
this.explanation = null == errData ? void 0 : errData.explanation;
|
|
14060
14060
|
this.logLines = null == errData ? void 0 : errData.logLines;
|
|
14061
|
-
this.
|
|
14061
|
+
this.whitelistKey = options.whitelistKey;
|
|
14062
14062
|
this.classList = classList;
|
|
14063
14063
|
const browser = util_getBrowser(options);
|
|
14064
14064
|
const usefulClientData = browser.getUsefulData();
|
|
@@ -14804,7 +14804,7 @@ var __webpack_exports__ = {};
|
|
|
14804
14804
|
return resource_async_to_generator(function*() {
|
|
14805
14805
|
const url = `${this.options.apiUrl}/videomail/${identifierName}/${identifierValue}/snapshot`;
|
|
14806
14806
|
try {
|
|
14807
|
-
const request = yield client_default()("get", url).type("json").set("Accept", "application/json").withCredentials().set("Timezone-Id", this.timezoneId).set(constants.
|
|
14807
|
+
const request = yield client_default()("get", url).type("json").set("Accept", "application/json").withCredentials().set("Timezone-Id", this.timezoneId).set(constants.WHITELIST_KEY_LABEL, this.options.whitelistKey).timeout(this.options.timeouts.connection);
|
|
14808
14808
|
const videomail = request.body;
|
|
14809
14809
|
return videomail;
|
|
14810
14810
|
} catch (exc) {
|
|
@@ -14818,7 +14818,7 @@ var __webpack_exports__ = {};
|
|
|
14818
14818
|
write(method, videomail) {
|
|
14819
14819
|
return resource_async_to_generator(function*() {
|
|
14820
14820
|
const queryParams = {
|
|
14821
|
-
[constants.
|
|
14821
|
+
[constants.WHITELIST_KEY_LABEL]: this.options.whitelistKey
|
|
14822
14822
|
};
|
|
14823
14823
|
let url = `${this.options.apiUrl}/videomail/`;
|
|
14824
14824
|
if (method === FormMethod.PUT && videomail.key) url += videomail.key;
|
|
@@ -14846,7 +14846,7 @@ var __webpack_exports__ = {};
|
|
|
14846
14846
|
reportError(err) {
|
|
14847
14847
|
return resource_async_to_generator(function*() {
|
|
14848
14848
|
const queryParams = {
|
|
14849
|
-
[constants.
|
|
14849
|
+
[constants.WHITELIST_KEY_LABEL]: this.options.whitelistKey
|
|
14850
14850
|
};
|
|
14851
14851
|
const url = `${this.options.apiUrl}/client-error/`;
|
|
14852
14852
|
try {
|
|
@@ -14865,7 +14865,7 @@ var __webpack_exports__ = {};
|
|
|
14865
14865
|
orientation: err.orientation,
|
|
14866
14866
|
os: err.os,
|
|
14867
14867
|
screen: err.screen,
|
|
14868
|
-
|
|
14868
|
+
whitelistKey: err.whitelistKey,
|
|
14869
14869
|
status: err.status,
|
|
14870
14870
|
title: err.title,
|
|
14871
14871
|
message: err.message,
|
|
@@ -14967,7 +14967,7 @@ var __webpack_exports__ = {};
|
|
|
14967
14967
|
verbose: !PRODUCTION,
|
|
14968
14968
|
apiUrl: "https://videomail.io/api",
|
|
14969
14969
|
socketUrl: "wss://videomail.io",
|
|
14970
|
-
|
|
14970
|
+
whitelistKey: "videomail-client-demo",
|
|
14971
14971
|
enablePause: true,
|
|
14972
14972
|
enableAutoPause: true,
|
|
14973
14973
|
enableSpace: true,
|
|
@@ -17134,8 +17134,8 @@ var __webpack_exports__ = {};
|
|
|
17134
17134
|
this.confirmedFrameNumber = this.confirmedSampleNumber = this.samplesCount = this.framesCount = 0;
|
|
17135
17135
|
this.sampleProgress = this.frameProgress = void 0;
|
|
17136
17136
|
this.key = args.key;
|
|
17137
|
-
if (args.mp4) this.replay.setMp4Source(`${args.mp4 + constants.
|
|
17138
|
-
if (args.webm) this.replay.setWebMSource(`${args.webm + constants.
|
|
17137
|
+
if (args.mp4) this.replay.setMp4Source(`${args.mp4 + constants.WHITELIST_KEY_LABEL}/${this.options.whitelistKey}/videomail.mp4`, true);
|
|
17138
|
+
if (args.webm) this.replay.setWebMSource(`${args.webm + constants.WHITELIST_KEY_LABEL}/${this.options.whitelistKey}/videomail.webm`, true);
|
|
17139
17139
|
this.hide();
|
|
17140
17140
|
const widthDimension = this.getRecorderWidth(true);
|
|
17141
17141
|
const heightDimension = this.getRecorderHeight(true);
|
|
@@ -17155,7 +17155,7 @@ var __webpack_exports__ = {};
|
|
|
17155
17155
|
if (!this.connected) {
|
|
17156
17156
|
this.connecting = true;
|
|
17157
17157
|
this.emit("CONNECTING");
|
|
17158
|
-
const url2Connect = `${this.options.socketUrl}?${encodeURIComponent(constants.
|
|
17158
|
+
const url2Connect = `${this.options.socketUrl}?${encodeURIComponent(constants.WHITELIST_KEY_LABEL)}=${encodeURIComponent(this.options.whitelistKey)}`;
|
|
17159
17159
|
this.options.logger.debug(`Recorder: initializing web socket to ${url2Connect}`);
|
|
17160
17160
|
try {
|
|
17161
17161
|
this.stream = stream_default()(url2Connect, {
|
package/dist/esm/constants.d.ts
CHANGED
package/dist/esm/index.js
CHANGED
|
@@ -3555,7 +3555,7 @@ const VideoType = {
|
|
|
3555
3555
|
MP4: "mp4"
|
|
3556
3556
|
};
|
|
3557
3557
|
const constants = {
|
|
3558
|
-
|
|
3558
|
+
WHITELIST_KEY_LABEL: "x-videomail-whitelist-key",
|
|
3559
3559
|
VERSION_LABEL: "videomailClientVersion",
|
|
3560
3560
|
public: {
|
|
3561
3561
|
ENC_TYPE_APP_JSON: "application/json",
|
|
@@ -3563,7 +3563,7 @@ const constants = {
|
|
|
3563
3563
|
}
|
|
3564
3564
|
};
|
|
3565
3565
|
var package_namespaceObject = {
|
|
3566
|
-
rE: "13.6.
|
|
3566
|
+
rE: "13.6.13"
|
|
3567
3567
|
};
|
|
3568
3568
|
function isAudioEnabled(options) {
|
|
3569
3569
|
return Boolean(options.audio.enabled);
|
|
@@ -3693,7 +3693,7 @@ class VideomailError extends error_HTTPVideomailError {
|
|
|
3693
3693
|
title = "Error from videomail-client npm package";
|
|
3694
3694
|
location = window.location.href;
|
|
3695
3695
|
logLines;
|
|
3696
|
-
|
|
3696
|
+
whitelistKey;
|
|
3697
3697
|
cookie;
|
|
3698
3698
|
err;
|
|
3699
3699
|
promise;
|
|
@@ -3722,7 +3722,7 @@ class VideomailError extends error_HTTPVideomailError {
|
|
|
3722
3722
|
super(message, errData);
|
|
3723
3723
|
this.explanation = errData?.explanation;
|
|
3724
3724
|
this.logLines = errData?.logLines;
|
|
3725
|
-
this.
|
|
3725
|
+
this.whitelistKey = options.whitelistKey;
|
|
3726
3726
|
this.classList = classList;
|
|
3727
3727
|
const browser = util_getBrowser(options);
|
|
3728
3728
|
const usefulClientData = browser.getUsefulData();
|
|
@@ -4262,7 +4262,7 @@ class Resource {
|
|
|
4262
4262
|
async get(identifierName, identifierValue) {
|
|
4263
4263
|
const url = `${this.options.apiUrl}/videomail/${identifierName}/${identifierValue}/snapshot`;
|
|
4264
4264
|
try {
|
|
4265
|
-
const request = await superagent("get", url).type("json").set("Accept", "application/json").withCredentials().set("Timezone-Id", this.timezoneId).set(constants.
|
|
4265
|
+
const request = await superagent("get", url).type("json").set("Accept", "application/json").withCredentials().set("Timezone-Id", this.timezoneId).set(constants.WHITELIST_KEY_LABEL, this.options.whitelistKey).timeout(this.options.timeouts.connection);
|
|
4266
4266
|
const videomail = request.body;
|
|
4267
4267
|
return videomail;
|
|
4268
4268
|
} catch (exc) {
|
|
@@ -4274,7 +4274,7 @@ class Resource {
|
|
|
4274
4274
|
}
|
|
4275
4275
|
async write(method, videomail) {
|
|
4276
4276
|
const queryParams = {
|
|
4277
|
-
[constants.
|
|
4277
|
+
[constants.WHITELIST_KEY_LABEL]: this.options.whitelistKey
|
|
4278
4278
|
};
|
|
4279
4279
|
let url = `${this.options.apiUrl}/videomail/`;
|
|
4280
4280
|
if (method === FormMethod.PUT && videomail.key) url += videomail.key;
|
|
@@ -4296,7 +4296,7 @@ class Resource {
|
|
|
4296
4296
|
}
|
|
4297
4297
|
async reportError(err) {
|
|
4298
4298
|
const queryParams = {
|
|
4299
|
-
[constants.
|
|
4299
|
+
[constants.WHITELIST_KEY_LABEL]: this.options.whitelistKey
|
|
4300
4300
|
};
|
|
4301
4301
|
const url = `${this.options.apiUrl}/client-error/`;
|
|
4302
4302
|
try {
|
|
@@ -4314,7 +4314,7 @@ class Resource {
|
|
|
4314
4314
|
orientation: err.orientation,
|
|
4315
4315
|
os: err.os,
|
|
4316
4316
|
screen: err.screen,
|
|
4317
|
-
|
|
4317
|
+
whitelistKey: err.whitelistKey,
|
|
4318
4318
|
status: err.status,
|
|
4319
4319
|
title: err.title,
|
|
4320
4320
|
message: err.message,
|
|
@@ -4401,7 +4401,7 @@ const options_options = {
|
|
|
4401
4401
|
verbose: !PRODUCTION,
|
|
4402
4402
|
apiUrl: "https://videomail.io/api",
|
|
4403
4403
|
socketUrl: "wss://videomail.io",
|
|
4404
|
-
|
|
4404
|
+
whitelistKey: "videomail-client-demo",
|
|
4405
4405
|
enablePause: true,
|
|
4406
4406
|
enableAutoPause: true,
|
|
4407
4407
|
enableSpace: true,
|
|
@@ -6379,8 +6379,8 @@ class Recorder extends util_Despot {
|
|
|
6379
6379
|
this.confirmedFrameNumber = this.confirmedSampleNumber = this.samplesCount = this.framesCount = 0;
|
|
6380
6380
|
this.sampleProgress = this.frameProgress = void 0;
|
|
6381
6381
|
this.key = args.key;
|
|
6382
|
-
if (args.mp4) this.replay.setMp4Source(`${args.mp4 + constants.
|
|
6383
|
-
if (args.webm) this.replay.setWebMSource(`${args.webm + constants.
|
|
6382
|
+
if (args.mp4) this.replay.setMp4Source(`${args.mp4 + constants.WHITELIST_KEY_LABEL}/${this.options.whitelistKey}/videomail.mp4`, true);
|
|
6383
|
+
if (args.webm) this.replay.setWebMSource(`${args.webm + constants.WHITELIST_KEY_LABEL}/${this.options.whitelistKey}/videomail.webm`, true);
|
|
6384
6384
|
this.hide();
|
|
6385
6385
|
const widthDimension = this.getRecorderWidth(true);
|
|
6386
6386
|
const heightDimension = this.getRecorderHeight(true);
|
|
@@ -6400,7 +6400,7 @@ class Recorder extends util_Despot {
|
|
|
6400
6400
|
if (!this.connected) {
|
|
6401
6401
|
this.connecting = true;
|
|
6402
6402
|
this.emit("CONNECTING");
|
|
6403
|
-
const url2Connect = `${this.options.socketUrl}?${encodeURIComponent(constants.
|
|
6403
|
+
const url2Connect = `${this.options.socketUrl}?${encodeURIComponent(constants.WHITELIST_KEY_LABEL)}=${encodeURIComponent(this.options.whitelistKey)}`;
|
|
6404
6404
|
this.options.logger.debug(`Recorder: initializing web socket to ${url2Connect}`);
|
|
6405
6405
|
try {
|
|
6406
6406
|
this.stream = websocket_stream(url2Connect, {
|
|
@@ -39,8 +39,8 @@ export interface Videomail {
|
|
|
39
39
|
sentDateIso?: string;
|
|
40
40
|
sentDateServerPretty?: string;
|
|
41
41
|
serverTimePretty?: string;
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
whitelistKey: string;
|
|
43
|
+
siteName?: string;
|
|
44
44
|
url: string;
|
|
45
45
|
userKey?: string;
|
|
46
46
|
versions: {
|
|
@@ -8,7 +8,7 @@ export interface VideomailErrorData {
|
|
|
8
8
|
explanation?: string | undefined;
|
|
9
9
|
logLines?: string[] | undefined;
|
|
10
10
|
message: string;
|
|
11
|
-
|
|
11
|
+
whitelistKey?: string | undefined;
|
|
12
12
|
title: string;
|
|
13
13
|
trace?: string | undefined;
|
|
14
14
|
code?: string | undefined;
|
|
@@ -10,7 +10,7 @@ declare class VideomailError extends HTTPVideomailError {
|
|
|
10
10
|
readonly title = "Error from videomail-client npm package";
|
|
11
11
|
readonly location: string;
|
|
12
12
|
logLines?: string[] | undefined;
|
|
13
|
-
|
|
13
|
+
whitelistKey: string | undefined;
|
|
14
14
|
cookie: string[] | undefined;
|
|
15
15
|
err?: Error | undefined;
|
|
16
16
|
promise?: Promise<any> | undefined;
|
|
@@ -112,8 +112,8 @@ declare class Form extends Despot {
|
|
|
112
112
|
sentDateIso?: string;
|
|
113
113
|
sentDateServerPretty?: string;
|
|
114
114
|
serverTimePretty?: string;
|
|
115
|
+
whitelistKey?: string;
|
|
115
116
|
siteName?: string;
|
|
116
|
-
siteTitle?: string;
|
|
117
117
|
url?: string;
|
|
118
118
|
userKey?: string;
|
|
119
119
|
versions?: {
|
|
@@ -251,8 +251,8 @@ declare class Form extends Despot {
|
|
|
251
251
|
sentDateIso?: string;
|
|
252
252
|
sentDateServerPretty?: string;
|
|
253
253
|
serverTimePretty?: string;
|
|
254
|
+
whitelistKey?: string;
|
|
254
255
|
siteName?: string;
|
|
255
|
-
siteTitle?: string;
|
|
256
256
|
url?: string;
|
|
257
257
|
userKey?: string;
|
|
258
258
|
versions?: {
|
package/dist/umd/index.js
CHANGED
|
@@ -10577,7 +10577,7 @@
|
|
|
10577
10577
|
MP4: "mp4"
|
|
10578
10578
|
};
|
|
10579
10579
|
const constants = {
|
|
10580
|
-
|
|
10580
|
+
WHITELIST_KEY_LABEL: "x-videomail-whitelist-key",
|
|
10581
10581
|
VERSION_LABEL: "videomailClientVersion",
|
|
10582
10582
|
public: {
|
|
10583
10583
|
ENC_TYPE_APP_JSON: "application/json",
|
|
@@ -10737,7 +10737,7 @@
|
|
|
10737
10737
|
var client = __webpack_require__("./node_modules/superagent/lib/client.js");
|
|
10738
10738
|
var client_default = /*#__PURE__*/ __webpack_require__.n(client);
|
|
10739
10739
|
var package_namespaceObject = {
|
|
10740
|
-
rE: "13.6.
|
|
10740
|
+
rE: "13.6.13"
|
|
10741
10741
|
};
|
|
10742
10742
|
function isAudioEnabled(options) {
|
|
10743
10743
|
return Boolean(options.audio.enabled);
|
|
@@ -14022,7 +14022,7 @@
|
|
|
14022
14022
|
title = "Error from videomail-client npm package";
|
|
14023
14023
|
location = window.location.href;
|
|
14024
14024
|
logLines;
|
|
14025
|
-
|
|
14025
|
+
whitelistKey;
|
|
14026
14026
|
cookie;
|
|
14027
14027
|
err;
|
|
14028
14028
|
promise;
|
|
@@ -14051,7 +14051,7 @@
|
|
|
14051
14051
|
super(message, errData);
|
|
14052
14052
|
this.explanation = errData?.explanation;
|
|
14053
14053
|
this.logLines = errData?.logLines;
|
|
14054
|
-
this.
|
|
14054
|
+
this.whitelistKey = options.whitelistKey;
|
|
14055
14055
|
this.classList = classList;
|
|
14056
14056
|
const browser = util_getBrowser(options);
|
|
14057
14057
|
const usefulClientData = browser.getUsefulData();
|
|
@@ -14704,7 +14704,7 @@
|
|
|
14704
14704
|
async get(identifierName, identifierValue) {
|
|
14705
14705
|
const url = `${this.options.apiUrl}/videomail/${identifierName}/${identifierValue}/snapshot`;
|
|
14706
14706
|
try {
|
|
14707
|
-
const request = await client_default()("get", url).type("json").set("Accept", "application/json").withCredentials().set("Timezone-Id", this.timezoneId).set(constants.
|
|
14707
|
+
const request = await client_default()("get", url).type("json").set("Accept", "application/json").withCredentials().set("Timezone-Id", this.timezoneId).set(constants.WHITELIST_KEY_LABEL, this.options.whitelistKey).timeout(this.options.timeouts.connection);
|
|
14708
14708
|
const videomail = request.body;
|
|
14709
14709
|
return videomail;
|
|
14710
14710
|
} catch (exc) {
|
|
@@ -14716,7 +14716,7 @@
|
|
|
14716
14716
|
}
|
|
14717
14717
|
async write(method, videomail) {
|
|
14718
14718
|
const queryParams = {
|
|
14719
|
-
[constants.
|
|
14719
|
+
[constants.WHITELIST_KEY_LABEL]: this.options.whitelistKey
|
|
14720
14720
|
};
|
|
14721
14721
|
let url = `${this.options.apiUrl}/videomail/`;
|
|
14722
14722
|
if (method === FormMethod.PUT && videomail.key) url += videomail.key;
|
|
@@ -14738,7 +14738,7 @@
|
|
|
14738
14738
|
}
|
|
14739
14739
|
async reportError(err) {
|
|
14740
14740
|
const queryParams = {
|
|
14741
|
-
[constants.
|
|
14741
|
+
[constants.WHITELIST_KEY_LABEL]: this.options.whitelistKey
|
|
14742
14742
|
};
|
|
14743
14743
|
const url = `${this.options.apiUrl}/client-error/`;
|
|
14744
14744
|
try {
|
|
@@ -14756,7 +14756,7 @@
|
|
|
14756
14756
|
orientation: err.orientation,
|
|
14757
14757
|
os: err.os,
|
|
14758
14758
|
screen: err.screen,
|
|
14759
|
-
|
|
14759
|
+
whitelistKey: err.whitelistKey,
|
|
14760
14760
|
status: err.status,
|
|
14761
14761
|
title: err.title,
|
|
14762
14762
|
message: err.message,
|
|
@@ -14843,7 +14843,7 @@
|
|
|
14843
14843
|
verbose: !PRODUCTION,
|
|
14844
14844
|
apiUrl: "https://videomail.io/api",
|
|
14845
14845
|
socketUrl: "wss://videomail.io",
|
|
14846
|
-
|
|
14846
|
+
whitelistKey: "videomail-client-demo",
|
|
14847
14847
|
enablePause: true,
|
|
14848
14848
|
enableAutoPause: true,
|
|
14849
14849
|
enableSpace: true,
|
|
@@ -16901,8 +16901,8 @@
|
|
|
16901
16901
|
this.confirmedFrameNumber = this.confirmedSampleNumber = this.samplesCount = this.framesCount = 0;
|
|
16902
16902
|
this.sampleProgress = this.frameProgress = void 0;
|
|
16903
16903
|
this.key = args.key;
|
|
16904
|
-
if (args.mp4) this.replay.setMp4Source(`${args.mp4 + constants.
|
|
16905
|
-
if (args.webm) this.replay.setWebMSource(`${args.webm + constants.
|
|
16904
|
+
if (args.mp4) this.replay.setMp4Source(`${args.mp4 + constants.WHITELIST_KEY_LABEL}/${this.options.whitelistKey}/videomail.mp4`, true);
|
|
16905
|
+
if (args.webm) this.replay.setWebMSource(`${args.webm + constants.WHITELIST_KEY_LABEL}/${this.options.whitelistKey}/videomail.webm`, true);
|
|
16906
16906
|
this.hide();
|
|
16907
16907
|
const widthDimension = this.getRecorderWidth(true);
|
|
16908
16908
|
const heightDimension = this.getRecorderHeight(true);
|
|
@@ -16922,7 +16922,7 @@
|
|
|
16922
16922
|
if (!this.connected) {
|
|
16923
16923
|
this.connecting = true;
|
|
16924
16924
|
this.emit("CONNECTING");
|
|
16925
|
-
const url2Connect = `${this.options.socketUrl}?${encodeURIComponent(constants.
|
|
16925
|
+
const url2Connect = `${this.options.socketUrl}?${encodeURIComponent(constants.WHITELIST_KEY_LABEL)}=${encodeURIComponent(this.options.whitelistKey)}`;
|
|
16926
16926
|
this.options.logger.debug(`Recorder: initializing web socket to ${url2Connect}`);
|
|
16927
16927
|
try {
|
|
16928
16928
|
this.stream = stream_default()(url2Connect, {
|