idmission-web-sdk 2.3.116 → 2.3.118
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/dist/components/video_signature_capture/VideoSignatureContext.d.ts +22 -0
- package/dist/components/video_signature_capture/VideoSignatureContext.d.ts.map +1 -1
- package/dist/components/video_signature_capture/VideoSignatureWizard.d.ts.map +1 -1
- package/dist/sdk2.cjs.development.js +109 -25
- package/dist/sdk2.cjs.development.js.map +1 -1
- package/dist/sdk2.cjs.production.js +1 -1
- package/dist/sdk2.cjs.production.js.map +1 -1
- package/dist/sdk2.esm.js +109 -25
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +109 -25
- package/dist/sdk2.umd.development.js.map +1 -1
- package/dist/sdk2.umd.production.js +1 -1
- package/dist/sdk2.umd.production.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
import React, { ReactNode } from 'react';
|
|
2
2
|
import { SignatureData } from '../signature_capture/data';
|
|
3
3
|
import SignatureCanvas from 'react-signature-canvas';
|
|
4
|
+
type VideoChunkRateStats = {
|
|
5
|
+
averageRate: number;
|
|
6
|
+
minRate: number;
|
|
7
|
+
maxRate: number;
|
|
8
|
+
totalChunksReceived: number;
|
|
9
|
+
recordingDurationMs: number;
|
|
10
|
+
};
|
|
4
11
|
export type VideoSignatureMetadata = {
|
|
5
12
|
mimeType?: string;
|
|
6
13
|
browserFeatures?: {
|
|
7
14
|
supportsRequestVideoFrameCallback?: boolean;
|
|
8
15
|
supportsRoundRect?: boolean;
|
|
9
16
|
};
|
|
17
|
+
diagnostics?: {
|
|
18
|
+
nullChunksReceived?: number;
|
|
19
|
+
firstNullChunkReceivedAt?: number;
|
|
20
|
+
lastNullChunkReceivedAt?: number;
|
|
21
|
+
finalChunkReceived?: boolean;
|
|
22
|
+
finalChunkTimedOut?: boolean;
|
|
23
|
+
finalChunkWaitedMs?: number;
|
|
24
|
+
videoChunkRate?: VideoChunkRateStats;
|
|
25
|
+
};
|
|
10
26
|
timingData?: {
|
|
11
27
|
recordingStartRequestedAt?: number;
|
|
12
28
|
recordingStartedAt?: number;
|
|
@@ -14,6 +30,7 @@ export type VideoSignatureMetadata = {
|
|
|
14
30
|
signatureStartedAt?: number;
|
|
15
31
|
signatureEndedAt?: number;
|
|
16
32
|
acceptClickedAt?: number;
|
|
33
|
+
clearClickedAt?: number;
|
|
17
34
|
recordingStopRequestedAt?: number;
|
|
18
35
|
lastChunkReceivedAt?: number;
|
|
19
36
|
recordingStoppedAt?: number;
|
|
@@ -37,8 +54,12 @@ export type VideoSignatureState = {
|
|
|
37
54
|
signatureStartedAt?: number;
|
|
38
55
|
signatureEndedAt?: number;
|
|
39
56
|
acceptClickedAt?: number;
|
|
57
|
+
clearClickedAt?: number;
|
|
40
58
|
supportsRequestVideoFrameCallback?: boolean;
|
|
41
59
|
supportsRoundRect?: boolean;
|
|
60
|
+
nullChunksReceived: number;
|
|
61
|
+
firstNullChunkReceivedAt?: number;
|
|
62
|
+
lastNullChunkReceivedAt?: number;
|
|
42
63
|
onSignatureVideoCaptured: OnSignatureVideoCaptured;
|
|
43
64
|
};
|
|
44
65
|
export declare const useVideoSignatureStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<VideoSignatureState>, "setState"> & {
|
|
@@ -58,4 +79,5 @@ export declare const useVideoSignatureStore: import("zustand").UseBoundStore<Omi
|
|
|
58
79
|
export default function VideoSignatureContextProvider({ children, }: {
|
|
59
80
|
children: ReactNode;
|
|
60
81
|
}): React.JSX.Element;
|
|
82
|
+
export {};
|
|
61
83
|
//# sourceMappingURL=VideoSignatureContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoSignatureContext.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAkC,MAAM,OAAO,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,eAAe,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"VideoSignatureContext.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoSignatureWizard.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureWizard.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"VideoSignatureWizard.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureWizard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,aAAa,EAGb,SAAS,EAKV,MAAM,OAAO,CAAA;AACd,OAAO,EAKL,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAMvE,OAAO,EAEL,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EAEpB,uBAAuB,EACxB,MAAM,qCAAqC,CAAA;AAG5C,OAAO,EAAE,+BAA+B,EAAE,MAAM,+CAA+C,CAAA;AAM/F,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAA;AACvF,OAA6B,EAE3B,4BAA4B,EAC7B,MAAM,wBAAwB,CAAA;AAC/B,OAAsC,EACpC,wBAAwB,EAGzB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAEL,6BAA6B,EAC7B,2BAA2B,EAE5B,MAAM,8BAA8B,CAAA;AAoBrC,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,CAAC,EAAE,kBAAkB,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,+BAA+B,GAAG;IACvE,YAAY,CAAC,EAAE,sBAAsB,CAAA;IACrC,OAAO,CAAC,EAAE,+BAA+B,CAAA;IACzC,mBAAmB,CAAC,EAAE,6BAA6B,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,2BAA2B,GAAG;IAC/D,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,OAAO,CAAC,EAAE,2BAA2B,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,6BAA6B,GAAG;IACnE,YAAY,CAAC,EAAE,oBAAoB,CAAA;IACnC,OAAO,CAAC,EAAE,6BAA6B,CAAA;IACvC,mBAAmB,CAAC,EAAE,2BAA2B,CAAA;IACjD,MAAM,CAAC,EAAE,4BAA4B,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;IACzC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/C,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,eAAe,CAAC,EAAE,wBAAwB,CAAA;IAC1C,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACrC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAA;IAEtC,kBAAkB,CAAC,EAAE,+BAA+B,CAAA;IACpD,oBAAoB,CAAC,EAAE,SAAS,CAAA;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,iBAAiB,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IACtD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,wBAAwB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1C,uCAAuC,CAAC,EAAE,OAAO,CAAA;IACjD,iCAAiC,CAAC,EAAE,OAAO,CAAA;IAC3C,iBAAiB,CAAC,EAAE,uBAAuB,CAAA;IAC3C,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,sCAAsC,CAAC,EAAE,OAAO,CAAA;IAChD,eAAe,CAAC,EAAE,aAAa,CAAC,4BAA4B,CAAC,CAAA;IAC7D,6BAA6B,CAAC,EAAE,OAAO,CAAA;IACvC,6BAA6B,CAAC,EAAE,MAAM,CAAA;IACtC,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,2BAA2B,CAAC,EAAE,MAAM,CAAA;IAEpC,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAC7B,UAAU,CAAC,EAAE,wBAAwB,CAAA;IACrC,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAC7B,QAAQ,CAAC,EAAE,sBAAsB,CAAA;IACjC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAiVD,eAAO,MAAM,oBAAoB,4GAGD,CAAA;AA4HhC,eAAO,MAAM,iCAAiC;2BAlDrB,MAAM,IAAI;gCACL,MAAM,IAAI;+BACX,MAAM,IAAI;kDAmDM,CAAA"}
|
|
@@ -236,7 +236,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
236
236
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
237
237
|
};
|
|
238
238
|
|
|
239
|
-
var webSdkVersion = '2.3.
|
|
239
|
+
var webSdkVersion = '2.3.118';
|
|
240
240
|
|
|
241
241
|
function getPlatform() {
|
|
242
242
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -14399,6 +14399,9 @@ function inferBlobType(blobPart) {
|
|
|
14399
14399
|
|
|
14400
14400
|
var signatureRecorder = null;
|
|
14401
14401
|
var signatureChunks = [];
|
|
14402
|
+
var ondataavailableInvocations = [];
|
|
14403
|
+
var ondataavailableStartTime;
|
|
14404
|
+
var lastCalculatedVideoChunkRate;
|
|
14402
14405
|
var videoSignatureInitialState = {
|
|
14403
14406
|
startRecording: function startRecording() {
|
|
14404
14407
|
return null;
|
|
@@ -14423,6 +14426,7 @@ var videoSignatureInitialState = {
|
|
|
14423
14426
|
signatureValid: false,
|
|
14424
14427
|
supportsRequestVideoFrameCallback: undefined,
|
|
14425
14428
|
supportsRoundRect: undefined,
|
|
14429
|
+
nullChunksReceived: 0,
|
|
14426
14430
|
onSignatureVideoCaptured: function onSignatureVideoCaptured() {
|
|
14427
14431
|
return null;
|
|
14428
14432
|
}
|
|
@@ -14435,8 +14439,11 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
|
|
|
14435
14439
|
captureAudio = false;
|
|
14436
14440
|
}
|
|
14437
14441
|
if (!camera) throw new Error('Camera not found');
|
|
14438
|
-
//
|
|
14442
|
+
// clear whatever we have recorded so far.
|
|
14439
14443
|
signatureChunks = [];
|
|
14444
|
+
ondataavailableInvocations = [];
|
|
14445
|
+
ondataavailableStartTime = undefined;
|
|
14446
|
+
lastCalculatedVideoChunkRate = undefined;
|
|
14440
14447
|
// start recording from the output canvas to capture the signature
|
|
14441
14448
|
var outputStream = (_a = get().outputCanvas.current) === null || _a === void 0 ? void 0 : _a.captureStream(24);
|
|
14442
14449
|
if (!outputStream) throw new Error('outputStream not found');
|
|
@@ -14454,18 +14461,26 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
|
|
|
14454
14461
|
recordingStartedAt: e.timeStamp
|
|
14455
14462
|
});
|
|
14456
14463
|
};
|
|
14457
|
-
var hasFirstChunk = false;
|
|
14458
14464
|
signatureRecorder.ondataavailable = function (event) {
|
|
14465
|
+
var now = performance.now();
|
|
14459
14466
|
signatureChunks.push(event.data);
|
|
14460
|
-
|
|
14461
|
-
|
|
14462
|
-
set({
|
|
14463
|
-
|
|
14464
|
-
|
|
14467
|
+
trackVideoChunkRate(now);
|
|
14468
|
+
if (event.data.size > 0) {
|
|
14469
|
+
set(function (state) {
|
|
14470
|
+
var _a;
|
|
14471
|
+
return {
|
|
14472
|
+
firstChunkReceivedAt: (_a = state.firstChunkReceivedAt) !== null && _a !== void 0 ? _a : now,
|
|
14473
|
+
lastChunkReceivedAt: now
|
|
14474
|
+
};
|
|
14465
14475
|
});
|
|
14466
14476
|
} else {
|
|
14467
|
-
set({
|
|
14468
|
-
|
|
14477
|
+
set(function (state) {
|
|
14478
|
+
var _a;
|
|
14479
|
+
return {
|
|
14480
|
+
nullChunksReceived: state.nullChunksReceived + 1,
|
|
14481
|
+
firstNullChunkReceivedAt: (_a = state.firstNullChunkReceivedAt) !== null && _a !== void 0 ? _a : now,
|
|
14482
|
+
lastNullChunkReceivedAt: now
|
|
14483
|
+
};
|
|
14469
14484
|
});
|
|
14470
14485
|
}
|
|
14471
14486
|
};
|
|
@@ -14476,9 +14491,10 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
|
|
|
14476
14491
|
},
|
|
14477
14492
|
stopRecording: function stopRecording(signatureData, imageUrl) {
|
|
14478
14493
|
return __awaiter(this, void 0, void 0, function () {
|
|
14494
|
+
var _a, finalChunkReceived, timedOut, waitedMs;
|
|
14479
14495
|
var _this = this;
|
|
14480
|
-
return __generator(this, function (
|
|
14481
|
-
switch (
|
|
14496
|
+
return __generator(this, function (_b) {
|
|
14497
|
+
switch (_b.label) {
|
|
14482
14498
|
case 0:
|
|
14483
14499
|
set({
|
|
14484
14500
|
recordingStopRequestedAt: performance.now()
|
|
@@ -14486,10 +14502,10 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
|
|
|
14486
14502
|
if (!signatureRecorder) return [2 /*return*/];
|
|
14487
14503
|
return [4 /*yield*/, waitForOneMoreChunk()];
|
|
14488
14504
|
case 1:
|
|
14489
|
-
_a.sent();
|
|
14505
|
+
_a = _b.sent(), finalChunkReceived = _a.finalChunkReceived, timedOut = _a.timedOut, waitedMs = _a.waitedMs;
|
|
14490
14506
|
signatureRecorder.onstop = function () {
|
|
14491
14507
|
return __awaiter(_this, void 0, void 0, function () {
|
|
14492
|
-
var recordingStoppedAt, mimeType, blob, _a, onSignatureVideoCaptured, recordingStartRequestedAt, recordingStartedAt, firstChunkReceivedAt, signatureStartedAt, signatureEndedAt, acceptClickedAt, recordingStopRequestedAt, lastChunkReceivedAt, supportsRequestVideoFrameCallback, supportsRoundRect;
|
|
14508
|
+
var recordingStoppedAt, mimeType, blob, _a, onSignatureVideoCaptured, recordingStartRequestedAt, recordingStartedAt, firstChunkReceivedAt, signatureStartedAt, signatureEndedAt, acceptClickedAt, clearClickedAt, recordingStopRequestedAt, lastChunkReceivedAt, supportsRequestVideoFrameCallback, supportsRoundRect, nullChunksReceived, firstNullChunkReceivedAt, lastNullChunkReceivedAt, metadata;
|
|
14493
14509
|
return __generator(this, function (_b) {
|
|
14494
14510
|
recordingStoppedAt = performance.now();
|
|
14495
14511
|
set({
|
|
@@ -14501,13 +14517,22 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
|
|
|
14501
14517
|
});
|
|
14502
14518
|
signatureChunks = [];
|
|
14503
14519
|
signatureRecorder = null;
|
|
14504
|
-
_a = get(), onSignatureVideoCaptured = _a.onSignatureVideoCaptured, recordingStartRequestedAt = _a.recordingStartRequestedAt, recordingStartedAt = _a.recordingStartedAt, firstChunkReceivedAt = _a.firstChunkReceivedAt, signatureStartedAt = _a.signatureStartedAt, signatureEndedAt = _a.signatureEndedAt, acceptClickedAt = _a.acceptClickedAt, recordingStopRequestedAt = _a.recordingStopRequestedAt, lastChunkReceivedAt = _a.lastChunkReceivedAt, supportsRequestVideoFrameCallback = _a.supportsRequestVideoFrameCallback, supportsRoundRect = _a.supportsRoundRect;
|
|
14505
|
-
|
|
14520
|
+
_a = get(), onSignatureVideoCaptured = _a.onSignatureVideoCaptured, recordingStartRequestedAt = _a.recordingStartRequestedAt, recordingStartedAt = _a.recordingStartedAt, firstChunkReceivedAt = _a.firstChunkReceivedAt, signatureStartedAt = _a.signatureStartedAt, signatureEndedAt = _a.signatureEndedAt, acceptClickedAt = _a.acceptClickedAt, clearClickedAt = _a.clearClickedAt, recordingStopRequestedAt = _a.recordingStopRequestedAt, lastChunkReceivedAt = _a.lastChunkReceivedAt, supportsRequestVideoFrameCallback = _a.supportsRequestVideoFrameCallback, supportsRoundRect = _a.supportsRoundRect, nullChunksReceived = _a.nullChunksReceived, firstNullChunkReceivedAt = _a.firstNullChunkReceivedAt, lastNullChunkReceivedAt = _a.lastNullChunkReceivedAt;
|
|
14521
|
+
metadata = {
|
|
14506
14522
|
mimeType: mimeType,
|
|
14507
14523
|
browserFeatures: {
|
|
14508
14524
|
supportsRoundRect: supportsRoundRect,
|
|
14509
14525
|
supportsRequestVideoFrameCallback: supportsRequestVideoFrameCallback
|
|
14510
14526
|
},
|
|
14527
|
+
diagnostics: {
|
|
14528
|
+
nullChunksReceived: nullChunksReceived,
|
|
14529
|
+
firstNullChunkReceivedAt: firstNullChunkReceivedAt,
|
|
14530
|
+
lastNullChunkReceivedAt: lastNullChunkReceivedAt,
|
|
14531
|
+
finalChunkReceived: finalChunkReceived,
|
|
14532
|
+
finalChunkTimedOut: timedOut,
|
|
14533
|
+
finalChunkWaitedMs: waitedMs,
|
|
14534
|
+
videoChunkRate: lastCalculatedVideoChunkRate
|
|
14535
|
+
},
|
|
14511
14536
|
timingData: {
|
|
14512
14537
|
recordingStartRequestedAt: recordingStartRequestedAt ? Math.ceil(recordingStartRequestedAt) : 0,
|
|
14513
14538
|
recordingStartedAt: recordingStartedAt ? Math.ceil(recordingStartedAt) : 0,
|
|
@@ -14515,11 +14540,14 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
|
|
|
14515
14540
|
signatureStartedAt: signatureStartedAt ? Math.ceil(signatureStartedAt) : 0,
|
|
14516
14541
|
signatureEndedAt: signatureEndedAt ? Math.ceil(signatureEndedAt) : 0,
|
|
14517
14542
|
acceptClickedAt: acceptClickedAt ? Math.ceil(acceptClickedAt) : 0,
|
|
14543
|
+
clearClickedAt: clearClickedAt ? Math.ceil(clearClickedAt) : 0,
|
|
14518
14544
|
recordingStopRequestedAt: recordingStopRequestedAt ? Math.ceil(recordingStopRequestedAt) : 0,
|
|
14519
14545
|
recordingStoppedAt: Math.ceil(recordingStoppedAt),
|
|
14520
14546
|
lastChunkReceivedAt: lastChunkReceivedAt ? Math.ceil(lastChunkReceivedAt) : 0
|
|
14521
14547
|
}
|
|
14522
|
-
}
|
|
14548
|
+
};
|
|
14549
|
+
debug('signature video metadata', metadata);
|
|
14550
|
+
onSignatureVideoCaptured(blob, signatureData !== null && signatureData !== void 0 ? signatureData : null, imageUrl !== null && imageUrl !== void 0 ? imageUrl : null, metadata);
|
|
14523
14551
|
return [2 /*return*/];
|
|
14524
14552
|
});
|
|
14525
14553
|
});
|
|
@@ -14532,6 +14560,9 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
|
|
|
14532
14560
|
},
|
|
14533
14561
|
clearRecordedData: function clearRecordedData() {
|
|
14534
14562
|
signatureChunks = [];
|
|
14563
|
+
ondataavailableInvocations = [];
|
|
14564
|
+
ondataavailableStartTime = undefined;
|
|
14565
|
+
lastCalculatedVideoChunkRate = undefined;
|
|
14535
14566
|
signatureRecorder === null || signatureRecorder === void 0 ? void 0 : signatureRecorder.stop();
|
|
14536
14567
|
signatureRecorder = null;
|
|
14537
14568
|
set({
|
|
@@ -14546,8 +14577,12 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
|
|
|
14546
14577
|
signatureStartedAt: undefined,
|
|
14547
14578
|
signatureEndedAt: undefined,
|
|
14548
14579
|
acceptClickedAt: undefined,
|
|
14580
|
+
clearClickedAt: undefined,
|
|
14549
14581
|
supportsRequestVideoFrameCallback: undefined,
|
|
14550
|
-
supportsRoundRect: undefined
|
|
14582
|
+
supportsRoundRect: undefined,
|
|
14583
|
+
nullChunksReceived: 0,
|
|
14584
|
+
firstNullChunkReceivedAt: undefined,
|
|
14585
|
+
lastNullChunkReceivedAt: undefined
|
|
14551
14586
|
});
|
|
14552
14587
|
}
|
|
14553
14588
|
});
|
|
@@ -14557,7 +14592,7 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
|
|
|
14557
14592
|
* @param delayMs - The delay in milliseconds before the first check -- this is used to make sure we get at least one extra second of video.
|
|
14558
14593
|
* @param checkEveryMs - The interval in milliseconds between checks after the initial delay has passed.
|
|
14559
14594
|
* @param timeoutMs - The maximum time in milliseconds to wait for the chunk -- this is used to prevent infinite loops.
|
|
14560
|
-
* @returns A promise that resolves when the delay has passed and at least one chunk has been received received.
|
|
14595
|
+
* @returns A promise that resolves when the delay has passed and at least one chunk has been received received. The return value is the number of milliseconds that we waited, whether we received a chunk, and whether we timed out.
|
|
14561
14596
|
*/
|
|
14562
14597
|
function waitForOneMoreChunk(delayMs, checkEveryMs, timeoutMs) {
|
|
14563
14598
|
if (delayMs === void 0) {
|
|
@@ -14569,20 +14604,30 @@ function waitForOneMoreChunk(delayMs, checkEveryMs, timeoutMs) {
|
|
|
14569
14604
|
if (timeoutMs === void 0) {
|
|
14570
14605
|
timeoutMs = 3000;
|
|
14571
14606
|
}
|
|
14572
|
-
var start = performance.now();
|
|
14573
14607
|
return new Promise(function (resolve) {
|
|
14608
|
+
var start = performance.now();
|
|
14574
14609
|
var initialLastChunkReceivedAt = useVideoSignatureStore.getState().lastChunkReceivedAt;
|
|
14575
|
-
function
|
|
14610
|
+
function checkForChunk() {
|
|
14576
14611
|
var lastChunkReceivedAt = useVideoSignatureStore.getState().lastChunkReceivedAt;
|
|
14577
|
-
|
|
14612
|
+
var waitedMs = performance.now() - start;
|
|
14613
|
+
var timedOut = waitedMs > timeoutMs;
|
|
14614
|
+
var finalChunkReceived = !!lastChunkReceivedAt && !!initialLastChunkReceivedAt && lastChunkReceivedAt > initialLastChunkReceivedAt;
|
|
14615
|
+
return {
|
|
14616
|
+
waitedMs: waitedMs,
|
|
14617
|
+
finalChunkReceived: finalChunkReceived,
|
|
14618
|
+
timedOut: timedOut
|
|
14619
|
+
};
|
|
14578
14620
|
}
|
|
14579
14621
|
setTimeout(function () {
|
|
14580
|
-
|
|
14622
|
+
// check immediately
|
|
14623
|
+
var result = checkForChunk();
|
|
14624
|
+
if (result.finalChunkReceived || result.timedOut) return resolve(result);
|
|
14581
14625
|
// otherwise, check on a configured interval
|
|
14582
14626
|
var interval = setInterval(function () {
|
|
14583
|
-
|
|
14627
|
+
var result = checkForChunk();
|
|
14628
|
+
if (result.finalChunkReceived || result.timedOut) {
|
|
14584
14629
|
clearInterval(interval);
|
|
14585
|
-
resolve();
|
|
14630
|
+
resolve(result);
|
|
14586
14631
|
}
|
|
14587
14632
|
}, checkEveryMs);
|
|
14588
14633
|
}, delayMs);
|
|
@@ -14692,6 +14737,44 @@ function useVideoFrameLoop(ref, onFrame) {
|
|
|
14692
14737
|
return videoFrameLoop(ref.current, onFrame);
|
|
14693
14738
|
}, [onFrame, ref]);
|
|
14694
14739
|
}
|
|
14740
|
+
function calculateAndStoreOndataavailableRate() {
|
|
14741
|
+
if (ondataavailableInvocations.length < 2 || !ondataavailableStartTime) {
|
|
14742
|
+
lastCalculatedVideoChunkRate = {
|
|
14743
|
+
averageRate: 0,
|
|
14744
|
+
minRate: 0,
|
|
14745
|
+
maxRate: 0,
|
|
14746
|
+
totalChunksReceived: ondataavailableInvocations.length,
|
|
14747
|
+
recordingDurationMs: 0
|
|
14748
|
+
};
|
|
14749
|
+
return;
|
|
14750
|
+
}
|
|
14751
|
+
var totalDuration = ondataavailableInvocations[ondataavailableInvocations.length - 1] - ondataavailableStartTime;
|
|
14752
|
+
var averageRate = (ondataavailableInvocations.length - 1) / (totalDuration / 1000); // invocations per second
|
|
14753
|
+
// Calculate rates for each interval between invocations
|
|
14754
|
+
var rates = [];
|
|
14755
|
+
for (var i = 1; i < ondataavailableInvocations.length; i++) {
|
|
14756
|
+
var intervalMs = ondataavailableInvocations[i] - ondataavailableInvocations[i - 1];
|
|
14757
|
+
var rate = 1000 / intervalMs; // invocations per second for this interval
|
|
14758
|
+
rates.push(rate);
|
|
14759
|
+
}
|
|
14760
|
+
var minRate = Math.min.apply(Math, rates);
|
|
14761
|
+
var maxRate = Math.max.apply(Math, rates);
|
|
14762
|
+
lastCalculatedVideoChunkRate = {
|
|
14763
|
+
averageRate: Math.round(averageRate * 100) / 100,
|
|
14764
|
+
// Round to 2 decimal places
|
|
14765
|
+
minRate: Math.round(minRate * 100) / 100,
|
|
14766
|
+
maxRate: Math.round(maxRate * 100) / 100,
|
|
14767
|
+
totalChunksReceived: ondataavailableInvocations.length,
|
|
14768
|
+
recordingDurationMs: Math.round(totalDuration)
|
|
14769
|
+
};
|
|
14770
|
+
}
|
|
14771
|
+
function trackVideoChunkRate(now) {
|
|
14772
|
+
// Track ondataavailable invocations for rate calculation
|
|
14773
|
+
ondataavailableStartTime !== null && ondataavailableStartTime !== void 0 ? ondataavailableStartTime : ondataavailableStartTime = now;
|
|
14774
|
+
ondataavailableInvocations.push(now);
|
|
14775
|
+
// Calculate and store the current rate
|
|
14776
|
+
calculateAndStoreOndataavailableRate();
|
|
14777
|
+
}
|
|
14695
14778
|
|
|
14696
14779
|
function VideoSignaturePad(_a) {
|
|
14697
14780
|
var onAcceptBtnClicked = _a.onAcceptBtnClicked,
|
|
@@ -15627,6 +15710,7 @@ function VideoSignatureWizardGuides(_a) {
|
|
|
15627
15710
|
var onClearBtnClicked = React.useCallback(function () {
|
|
15628
15711
|
var _a, _b;
|
|
15629
15712
|
useVideoSignatureStore.setState({
|
|
15713
|
+
clearClickedAt: performance.now(),
|
|
15630
15714
|
signatureStartedAt: undefined,
|
|
15631
15715
|
signaturePadEmpty: true,
|
|
15632
15716
|
signatureValid: false
|