idmission-web-sdk 2.3.120 → 2.3.122
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 +2 -0
- package/dist/components/video_signature_capture/VideoSignatureContext.d.ts.map +1 -1
- package/dist/sdk2.cjs.development.js +53 -27
- 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 +53 -27
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +53 -27
- 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 +3 -3
|
@@ -62,6 +62,8 @@ export type VideoSignatureState = {
|
|
|
62
62
|
firstNullChunkReceivedAt?: number;
|
|
63
63
|
lastNullChunkReceivedAt?: number;
|
|
64
64
|
timesSignatureCleared: number;
|
|
65
|
+
finalChunkReceived: boolean;
|
|
66
|
+
requestDataInterval?: NodeJS.Timeout;
|
|
65
67
|
onSignatureVideoCaptured: OnSignatureVideoCaptured;
|
|
66
68
|
};
|
|
67
69
|
export declare const useVideoSignatureStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<VideoSignatureState>, "setState"> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoSignatureContext.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureContext.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"VideoSignatureContext.d.ts","sourceRoot":"","sources":["../../../src/components/video_signature_capture/VideoSignatureContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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.122';
|
|
240
240
|
|
|
241
241
|
function getPlatform() {
|
|
242
242
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -14428,6 +14428,8 @@ var videoSignatureInitialState = {
|
|
|
14428
14428
|
supportsRoundRect: undefined,
|
|
14429
14429
|
nullChunksReceived: 0,
|
|
14430
14430
|
timesSignatureCleared: 0,
|
|
14431
|
+
finalChunkReceived: false,
|
|
14432
|
+
requestDataInterval: undefined,
|
|
14431
14433
|
onSignatureVideoCaptured: function onSignatureVideoCaptured() {
|
|
14432
14434
|
return null;
|
|
14433
14435
|
}
|
|
@@ -14485,8 +14487,12 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
|
|
|
14485
14487
|
});
|
|
14486
14488
|
}
|
|
14487
14489
|
};
|
|
14488
|
-
signatureRecorder.start(
|
|
14490
|
+
signatureRecorder.start();
|
|
14491
|
+
var interval = setInterval(function () {
|
|
14492
|
+
return signatureRecorder === null || signatureRecorder === void 0 ? void 0 : signatureRecorder.requestData();
|
|
14493
|
+
}, 250);
|
|
14489
14494
|
set({
|
|
14495
|
+
requestDataInterval: interval,
|
|
14490
14496
|
recordingStartRequestedAt: performance.now()
|
|
14491
14497
|
});
|
|
14492
14498
|
},
|
|
@@ -14516,8 +14522,8 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
|
|
|
14516
14522
|
},
|
|
14517
14523
|
diagnostics: {
|
|
14518
14524
|
nullChunksReceived: nullChunksReceived,
|
|
14519
|
-
firstNullChunkReceivedAt: firstNullChunkReceivedAt,
|
|
14520
|
-
lastNullChunkReceivedAt: lastNullChunkReceivedAt,
|
|
14525
|
+
firstNullChunkReceivedAt: firstNullChunkReceivedAt ? Math.ceil(firstNullChunkReceivedAt) : 0,
|
|
14526
|
+
lastNullChunkReceivedAt: lastNullChunkReceivedAt ? Math.ceil(lastNullChunkReceivedAt) : 0,
|
|
14521
14527
|
finalChunkReceived: finalChunkReceived,
|
|
14522
14528
|
finalChunkTimedOut: timedOut,
|
|
14523
14529
|
finalChunkWaitedMs: Math.ceil(waitedMs),
|
|
@@ -14554,9 +14560,16 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
|
|
|
14554
14560
|
recordingStopRequestedAt: performance.now(),
|
|
14555
14561
|
recordingStoppedAt: undefined
|
|
14556
14562
|
});
|
|
14557
|
-
|
|
14563
|
+
clearInterval(get().requestDataInterval);
|
|
14564
|
+
return [4 /*yield*/, waitForOneMoreChunk()
|
|
14565
|
+
// this represents the time that it is safe to release the camera access
|
|
14566
|
+
];
|
|
14558
14567
|
case 1:
|
|
14559
14568
|
_b = _c.sent(), finalChunkReceived = _b.finalChunkReceived, timedOut = _b.timedOut, waitedMs = _b.waitedMs;
|
|
14569
|
+
// this represents the time that it is safe to release the camera access
|
|
14570
|
+
set({
|
|
14571
|
+
finalChunkReceived: true
|
|
14572
|
+
});
|
|
14560
14573
|
if (!signatureRecorder) return [3 /*break*/, 2];
|
|
14561
14574
|
signatureRecorder.onstop = processVideo;
|
|
14562
14575
|
signatureRecorder.stop();
|
|
@@ -14592,12 +14605,13 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
|
|
|
14592
14605
|
signatureStartedAt: undefined,
|
|
14593
14606
|
signatureEndedAt: undefined,
|
|
14594
14607
|
acceptClickedAt: undefined,
|
|
14595
|
-
|
|
14608
|
+
// Note: clearClickedAt is intentionally preserved for telemetry metadata
|
|
14596
14609
|
supportsRequestVideoFrameCallback: undefined,
|
|
14597
14610
|
supportsRoundRect: undefined,
|
|
14598
14611
|
nullChunksReceived: 0,
|
|
14599
14612
|
firstNullChunkReceivedAt: undefined,
|
|
14600
|
-
lastNullChunkReceivedAt: undefined
|
|
14613
|
+
lastNullChunkReceivedAt: undefined,
|
|
14614
|
+
finalChunkReceived: false
|
|
14601
14615
|
});
|
|
14602
14616
|
}
|
|
14603
14617
|
});
|
|
@@ -14611,7 +14625,7 @@ var useVideoSignatureStore = zustand.create()(middleware.devtools(function (set,
|
|
|
14611
14625
|
*/
|
|
14612
14626
|
function waitForOneMoreChunk(delayMs, checkEveryMs, timeoutMs) {
|
|
14613
14627
|
if (delayMs === void 0) {
|
|
14614
|
-
delayMs =
|
|
14628
|
+
delayMs = 250;
|
|
14615
14629
|
}
|
|
14616
14630
|
if (checkEveryMs === void 0) {
|
|
14617
14631
|
checkEveryMs = 100;
|
|
@@ -14620,8 +14634,10 @@ function waitForOneMoreChunk(delayMs, checkEveryMs, timeoutMs) {
|
|
|
14620
14634
|
timeoutMs = 3000;
|
|
14621
14635
|
}
|
|
14622
14636
|
return new Promise(function (resolve) {
|
|
14637
|
+
var _a;
|
|
14623
14638
|
var start = performance.now();
|
|
14624
|
-
var initialLastChunkReceivedAt = useVideoSignatureStore.getState().lastChunkReceivedAt;
|
|
14639
|
+
var initialLastChunkReceivedAt = (_a = useVideoSignatureStore.getState().lastChunkReceivedAt) !== null && _a !== void 0 ? _a : start;
|
|
14640
|
+
signatureRecorder === null || signatureRecorder === void 0 ? void 0 : signatureRecorder.requestData();
|
|
14625
14641
|
function checkForChunk() {
|
|
14626
14642
|
var lastChunkReceivedAt = useVideoSignatureStore.getState().lastChunkReceivedAt;
|
|
14627
14643
|
var waitedMs = performance.now() - start;
|
|
@@ -14649,9 +14665,12 @@ function waitForOneMoreChunk(delayMs, checkEveryMs, timeoutMs) {
|
|
|
14649
14665
|
});
|
|
14650
14666
|
}
|
|
14651
14667
|
function VideoSignatureContextProvider(_a) {
|
|
14652
|
-
var _b, _c;
|
|
14653
14668
|
var children = _a.children;
|
|
14654
|
-
var
|
|
14669
|
+
var _b = useCameraStore(),
|
|
14670
|
+
videoRef = _b.videoRef,
|
|
14671
|
+
videoWidth = _b.videoWidth,
|
|
14672
|
+
videoHeight = _b.videoHeight,
|
|
14673
|
+
releaseCameraAccess = _b.releaseCameraAccess;
|
|
14655
14674
|
var outputCanvas = React.useRef(null);
|
|
14656
14675
|
React.useEffect(function () {
|
|
14657
14676
|
return useVideoSignatureStore.setState({
|
|
@@ -14659,18 +14678,13 @@ function VideoSignatureContextProvider(_a) {
|
|
|
14659
14678
|
});
|
|
14660
14679
|
}, []);
|
|
14661
14680
|
var drawOutputFrame = React.useCallback(function () {
|
|
14662
|
-
if (!outputCanvas.current
|
|
14681
|
+
if (!outputCanvas.current) return;
|
|
14663
14682
|
var ctx = outputCanvas.current.getContext('2d');
|
|
14664
14683
|
if (!ctx) return;
|
|
14665
|
-
var _a = [
|
|
14684
|
+
var _a = [outputCanvas.current.width, outputCanvas.current.height],
|
|
14666
14685
|
w = _a[0],
|
|
14667
14686
|
h = _a[1];
|
|
14668
14687
|
var isPortrait = w < h;
|
|
14669
|
-
// Only update canvas dimensions if they changed (setting dimensions clears the canvas!)
|
|
14670
|
-
if (outputCanvas.current.width !== w || outputCanvas.current.height !== h) {
|
|
14671
|
-
outputCanvas.current.width = w;
|
|
14672
|
-
outputCanvas.current.height = h;
|
|
14673
|
-
}
|
|
14674
14688
|
var rect = [w * (isPortrait ? 0.02 : 0.15),
|
|
14675
14689
|
// x
|
|
14676
14690
|
h * (isPortrait ? 0.15 : 0.25),
|
|
@@ -14679,7 +14693,9 @@ function VideoSignatureContextProvider(_a) {
|
|
|
14679
14693
|
// width
|
|
14680
14694
|
h * (isPortrait ? 0.7 : 0.5) // height
|
|
14681
14695
|
];
|
|
14682
|
-
|
|
14696
|
+
if (videoRef.current) {
|
|
14697
|
+
ctx.drawImage(videoRef.current, 0, 0, w, h);
|
|
14698
|
+
}
|
|
14683
14699
|
ctx.beginPath();
|
|
14684
14700
|
ctx.fillStyle = 'rgba(255,255,255,0.5)';
|
|
14685
14701
|
var supportsRoundRect = typeof ctx.roundRect === 'function';
|
|
@@ -14701,11 +14717,15 @@ function VideoSignatureContextProvider(_a) {
|
|
|
14701
14717
|
ctx.drawImage.apply(ctx, __spreadArray([signatureCanvas], rect, false));
|
|
14702
14718
|
}
|
|
14703
14719
|
}, [videoRef]);
|
|
14704
|
-
|
|
14720
|
+
var finalChunkReceived = useVideoSignatureStore().finalChunkReceived;
|
|
14721
|
+
React.useEffect(function () {
|
|
14722
|
+
if (finalChunkReceived) releaseCameraAccess();
|
|
14723
|
+
}, [finalChunkReceived, releaseCameraAccess]);
|
|
14724
|
+
useVideoFrameLoop(videoRef, drawOutputFrame, !finalChunkReceived);
|
|
14705
14725
|
return /*#__PURE__*/React__namespace.default.createElement(React__namespace.default.Fragment, null, children, /*#__PURE__*/React__namespace.default.createElement(InvisibleCanvas, {
|
|
14706
14726
|
ref: outputCanvas,
|
|
14707
|
-
width:
|
|
14708
|
-
height:
|
|
14727
|
+
width: videoWidth,
|
|
14728
|
+
height: videoHeight
|
|
14709
14729
|
}));
|
|
14710
14730
|
}
|
|
14711
14731
|
function requestVideoFrameCallback(video, onFrame) {
|
|
@@ -14725,8 +14745,11 @@ function requestVideoFrameCallback(video, onFrame) {
|
|
|
14725
14745
|
};
|
|
14726
14746
|
}
|
|
14727
14747
|
}
|
|
14728
|
-
function videoFrameLoop(video, onFrame) {
|
|
14729
|
-
if (
|
|
14748
|
+
function videoFrameLoop(video, onFrame, running) {
|
|
14749
|
+
if (running === void 0) {
|
|
14750
|
+
running = true;
|
|
14751
|
+
}
|
|
14752
|
+
if (!video || !running) return;
|
|
14730
14753
|
var cancelFn;
|
|
14731
14754
|
var canceled = false;
|
|
14732
14755
|
function onFrameRecursive() {
|
|
@@ -14747,10 +14770,13 @@ function videoFrameLoop(video, onFrame) {
|
|
|
14747
14770
|
if (cancelFn !== undefined) cancelFn();
|
|
14748
14771
|
};
|
|
14749
14772
|
}
|
|
14750
|
-
function useVideoFrameLoop(ref, onFrame) {
|
|
14773
|
+
function useVideoFrameLoop(ref, onFrame, running) {
|
|
14774
|
+
if (running === void 0) {
|
|
14775
|
+
running = true;
|
|
14776
|
+
}
|
|
14751
14777
|
React.useEffect(function () {
|
|
14752
|
-
return videoFrameLoop(ref.current, onFrame);
|
|
14753
|
-
}, [onFrame, ref]);
|
|
14778
|
+
return videoFrameLoop(ref.current, onFrame, running);
|
|
14779
|
+
}, [onFrame, ref, running]);
|
|
14754
14780
|
}
|
|
14755
14781
|
function calculateAndStoreOndataavailableRate() {
|
|
14756
14782
|
if (ondataavailableInvocations.length < 2 || !ondataavailableStartTime) {
|