idmission-web-sdk 2.2.38 → 2.2.40

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/sdk2.esm.js CHANGED
@@ -203,7 +203,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
203
203
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
204
204
  };
205
205
 
206
- var webSdkVersion = '2.2.38';
206
+ var webSdkVersion = '2.2.40';
207
207
 
208
208
  function getPlatform() {
209
209
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -3368,12 +3368,12 @@ var createCameraStore = function createCameraStore(config) {
3368
3368
  },
3369
3369
  requestCameraAccess: function requestCameraAccess() {
3370
3370
  return __awaiter(this, void 0, void 0, function () {
3371
- var _a, releaseCameraAccess, preferFrontFacingCamera, preferIphoneContinuityCamera, iphoneContinuityCameraDenied, availableCameras, selectedCamera, platform_1, iphoneContinuityCamera, constraints, stream, e_1, iphoneContinuityCameraAvailable_1, handleStreamEnded_1, camera, e_3;
3371
+ var _a, videoRef, releaseCameraAccess, preferFrontFacingCamera, preferIphoneContinuityCamera, iphoneContinuityCameraDenied, availableCameras, selectedCamera, platform_1, iphoneContinuityCamera, constraints, stream, e_1, iphoneContinuityCameraAvailable_1, handleStreamEnded, videoTrack_1, camera, e_3;
3372
3372
  var _b, _c, _d;
3373
3373
  return __generator(this, function (_e) {
3374
3374
  switch (_e.label) {
3375
3375
  case 0:
3376
- _a = get(), releaseCameraAccess = _a.releaseCameraAccess, preferFrontFacingCamera = _a.preferFrontFacingCamera, preferIphoneContinuityCamera = _a.preferIphoneContinuityCamera, iphoneContinuityCameraDenied = _a.iphoneContinuityCameraDenied;
3376
+ _a = get(), videoRef = _a.videoRef, releaseCameraAccess = _a.releaseCameraAccess, preferFrontFacingCamera = _a.preferFrontFacingCamera, preferIphoneContinuityCamera = _a.preferIphoneContinuityCamera, iphoneContinuityCameraDenied = _a.iphoneContinuityCameraDenied;
3377
3377
  releaseCameraAccess();
3378
3378
  _e.label = 1;
3379
3379
  case 1:
@@ -3498,7 +3498,7 @@ var createCameraStore = function createCameraStore(config) {
3498
3498
  }
3499
3499
  debug('camera access granted with constraints', constraints);
3500
3500
  iphoneContinuityCameraAvailable_1 = get().iphoneContinuityCameraAvailable;
3501
- handleStreamEnded_1 = function handleStreamEnded_1() {
3501
+ handleStreamEnded = function handleStreamEnded() {
3502
3502
  if (iphoneContinuityCameraAvailable_1 && preferIphoneContinuityCamera) {
3503
3503
  debug('someone unplugged the continuity camera');
3504
3504
  releaseCameraAccess();
@@ -3519,14 +3519,23 @@ var createCameraStore = function createCameraStore(config) {
3519
3519
  });
3520
3520
  }
3521
3521
  };
3522
- (_d = config.videoRef.current) === null || _d === void 0 ? void 0 : _d.addEventListener('ended', handleStreamEnded_1);
3523
- stream.getVideoTracks().forEach(function (track) {
3524
- track.onended = handleStreamEnded_1;
3525
- });
3526
- camera = obtainCameraAccess(stream, selectedCamera.label, config.videoRef.current);
3522
+ (_d = videoRef.current) === null || _d === void 0 ? void 0 : _d.addEventListener('ended', handleStreamEnded);
3523
+ videoTrack_1 = stream.getVideoTracks()[0];
3524
+ videoTrack_1.onended = handleStreamEnded;
3525
+ // iOS 17 has a strange behavior where the video track flickers between muted and unmuted
3526
+ // when the camera access is being requested. This is a workaround for that.
3527
+ setTimeout(function () {
3528
+ videoTrack_1.onmute = function () {
3529
+ return set({
3530
+ cameraAccessDenied: true
3531
+ });
3532
+ };
3533
+ }, 500);
3534
+ camera = obtainCameraAccess(stream, selectedCamera.label, videoRef.current);
3527
3535
  set({
3528
3536
  camera: camera,
3529
3537
  cameraReady: true,
3538
+ cameraAccessDenied: false,
3530
3539
  isRearFacing: camera.isRearFacing,
3531
3540
  videoStream: stream
3532
3541
  });