idmission-web-sdk 2.2.39 → 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.39';
206
+ var webSdkVersion = '2.2.40';
207
207
 
208
208
  function getPlatform() {
209
209
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -3368,7 +3368,7 @@ 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, videoRef, 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) {
@@ -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,11 +3519,18 @@ var createCameraStore = function createCameraStore(config) {
3519
3519
  });
3520
3520
  }
3521
3521
  };
3522
- (_d = 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
- track.onmute = handleStreamEnded_1;
3526
- });
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);
3527
3534
  camera = obtainCameraAccess(stream, selectedCamera.label, videoRef.current);
3528
3535
  set({
3529
3536
  camera: camera,