From a5708672b38e3a301f494eb1b01f4ab9aa251bff Mon Sep 17 00:00:00 2001 From: Barnabas Nsoh Date: Thu, 5 Sep 2024 15:20:57 +0000 Subject: [PATCH 1/8] Fix agent mode showing when flag is present --- example/package.json | 2 +- package-lock.json | 12 ++++++------ package.json | 2 +- packages/embed/package.json | 2 +- packages/embed/src/js/biometric-kyc.js | 4 +++- packages/embed/src/js/doc-verification.js | 4 +++- .../embed/src/js/enhanced-document-verification.js | 4 +++- packages/embed/src/js/smartselfie-auth.js | 10 ++++++---- packages/smart-camera-web/package.json | 2 +- .../components/selfie/src/SelfieCaptureScreens.js | 2 +- .../components/signature-pad/package.json | 2 +- packages/web-components/package.json | 2 +- 12 files changed, 28 insertions(+), 20 deletions(-) diff --git a/example/package.json b/example/package.json index 582fe939..01062218 100644 --- a/example/package.json +++ b/example/package.json @@ -1,7 +1,7 @@ { "name": "example", "private": true, - "version": "1.4.1", + "version": "1.4.2", "type": "module", "main": "server.js", "scripts": { diff --git a/package-lock.json b/package-lock.json index 2ff7d6d8..3e519c1c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@smileid/web", - "version": "1.4.0", + "version": "1.4.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@smileid/web", - "version": "1.4.0", + "version": "1.4.2", "license": "MIT", "workspaces": [ "packages/web-components/*/*", @@ -14657,7 +14657,7 @@ }, "packages/embed": { "name": "@smileid/embed", - "version": "1.4.0", + "version": "1.4.2", "dependencies": { "@sentry/browser": "^8.26.0", "@sentry/esbuild-plugin": "^2.22.3", @@ -14684,7 +14684,7 @@ }, "packages/smart-camera-web": { "name": "@smile_identity/smart-camera-web", - "version": "1.4.0", + "version": "1.4.2", "license": "MIT", "devDependencies": { "@cypress/code-coverage": "^3.12.46", @@ -14698,7 +14698,7 @@ }, "packages/web-components": { "name": "@smileid/web-components", - "version": "1.4.0", + "version": "1.4.2", "dependencies": { "signature_pad": "^5.0.2", "validate.js": "^0.13.1" @@ -14718,7 +14718,7 @@ }, "packages/web-components/components/signature-pad": { "name": "@smileid/signature-pad", - "version": "1.4.0", + "version": "1.4.2", "dependencies": { "signature_pad": "^5.0.2" }, diff --git a/package.json b/package.json index 409fe07d..59738c93 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@smileid/web", - "version": "1.4.1", + "version": "1.4.2", "description": "A collection of SmileID browser clients and components", "main": "index.js", "private": true, diff --git a/packages/embed/package.json b/packages/embed/package.json index f6e5b076..8970963b 100644 --- a/packages/embed/package.json +++ b/packages/embed/package.json @@ -1,6 +1,6 @@ { "name": "@smileid/embed", - "version": "1.4.1", + "version": "1.4.2", "description": "Self Hosted Integration for Smile Identity on the Web", "private": true, "main": "inline.js", diff --git a/packages/embed/src/js/biometric-kyc.js b/packages/embed/src/js/biometric-kyc.js index 86c1392f..4b441d3d 100644 --- a/packages/embed/src/js/biometric-kyc.js +++ b/packages/embed/src/js/biometric-kyc.js @@ -189,7 +189,9 @@ import { version as sdkVersion } from '../../package.json'; } function initializeSession(generalConstraints, partnerConstraints) { - SmartCameraWeb.setAttribute('allow-agent-mode', config.allow_agent_mode); + if (config.allow_agent_mode) { + SmartCameraWeb.setAttribute('allow-agent-mode', true); + } if (hasThemeColor()) { SmartCameraWeb.setAttribute( 'theme-color', diff --git a/packages/embed/src/js/doc-verification.js b/packages/embed/src/js/doc-verification.js index 0a5f9602..d1d30e78 100644 --- a/packages/embed/src/js/doc-verification.js +++ b/packages/embed/src/js/doc-verification.js @@ -217,7 +217,9 @@ import { version as sdkVersion } from '../../package.json'; let selectedIdType; let selectedIdName; - SmartCameraWeb.setAttribute('allow-agent-mode', config.allow_agent_mode); + if (config.allow_agent_mode) { + SmartCameraWeb.setAttribute('allow-agent-mode', true); + } if (hasThemeColor()) { SmartCameraWeb.setAttribute( 'theme-color', diff --git a/packages/embed/src/js/enhanced-document-verification.js b/packages/embed/src/js/enhanced-document-verification.js index 46baa9b8..55b4b329 100644 --- a/packages/embed/src/js/enhanced-document-verification.js +++ b/packages/embed/src/js/enhanced-document-verification.js @@ -84,7 +84,9 @@ import { version as sdkVersion } from '../../package.json'; ); function initializeSession(constraints) { - SmartCameraWeb.setAttribute('allow-agent-mode', config.allow_agent_mode); + if (config.allow_agent_mode) { + SmartCameraWeb.setAttribute('allow-agent-mode', config.allow_agent_mode); + } if (hasThemeColor()) { SmartCameraWeb.setAttribute( 'theme-color', diff --git a/packages/embed/src/js/smartselfie-auth.js b/packages/embed/src/js/smartselfie-auth.js index f3f16906..19068edf 100644 --- a/packages/embed/src/js/smartselfie-auth.js +++ b/packages/embed/src/js/smartselfie-auth.js @@ -65,10 +65,12 @@ import { version as sdkVersion } from '../../package.json'; partner_params = getPartnerParams(); id_info = {}; - SmartCameraWeb.setAttribute( - 'allow-agent-mode', - config.allow_agent_mode, - ); + if (config.allow_agent_mode) { + SmartCameraWeb.setAttribute( + 'allow-agent-mode', + config.allow_agent_mode, + ); + } SmartCameraWeb.setAttribute( 'theme-color', config.partner_details.theme_color, diff --git a/packages/smart-camera-web/package.json b/packages/smart-camera-web/package.json index a34f5514..df5b37c6 100644 --- a/packages/smart-camera-web/package.json +++ b/packages/smart-camera-web/package.json @@ -1,6 +1,6 @@ { "name": "@smile_identity/smart-camera-web", - "version": "1.4.1", + "version": "1.4.2", "description": "WebComponent for smartly capturing images on the web, for use with SmileIdentity", "main": "smart-camera-web.js", "scripts": { diff --git a/packages/web-components/components/selfie/src/SelfieCaptureScreens.js b/packages/web-components/components/selfie/src/SelfieCaptureScreens.js index f6602d15..5b096ef3 100644 --- a/packages/web-components/components/selfie/src/SelfieCaptureScreens.js +++ b/packages/web-components/components/selfie/src/SelfieCaptureScreens.js @@ -180,7 +180,7 @@ class SelfieCaptureScreens extends HTMLElement { } get allowAgentMode() { - return this.hasAttribute('allow-agent-mode') + return this.inAgentMode ? "allow-agent-mode='true'" : ''; } diff --git a/packages/web-components/components/signature-pad/package.json b/packages/web-components/components/signature-pad/package.json index d23d1e4e..d52ed19f 100644 --- a/packages/web-components/components/signature-pad/package.json +++ b/packages/web-components/components/signature-pad/package.json @@ -1,6 +1,6 @@ { "name": "@smileid/signature-pad", - "version": "1.4.1", + "version": "1.4.2", "private": "true", "exports": { ".": "./index.js" diff --git a/packages/web-components/package.json b/packages/web-components/package.json index 4e043273..12c47b72 100644 --- a/packages/web-components/package.json +++ b/packages/web-components/package.json @@ -1,6 +1,6 @@ { "name": "@smileid/web-components", - "version": "1.4.1", + "version": "1.4.2", "private": "true", "exports": { ".": "./index.js", From e50c970ee4fd00f610edf6c6ef4602e8943a97a1 Mon Sep 17 00:00:00 2001 From: Barnabas Nsoh Date: Thu, 5 Sep 2024 15:30:56 +0000 Subject: [PATCH 2/8] fix agent mode check --- .../components/selfie/src/SelfieCaptureScreens.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/web-components/components/selfie/src/SelfieCaptureScreens.js b/packages/web-components/components/selfie/src/SelfieCaptureScreens.js index 5b096ef3..a9f12634 100644 --- a/packages/web-components/components/selfie/src/SelfieCaptureScreens.js +++ b/packages/web-components/components/selfie/src/SelfieCaptureScreens.js @@ -180,9 +180,7 @@ class SelfieCaptureScreens extends HTMLElement { } get allowAgentMode() { - return this.inAgentMode - ? "allow-agent-mode='true'" - : ''; + return this.inAgentMode ? "allow-agent-mode='true'" : ''; } get allowAgentModeTests() { From 540e55f87c33149a99350a25f4d348b2167f166a Mon Sep 17 00:00:00 2001 From: Barnabas Nsoh Date: Thu, 5 Sep 2024 15:37:06 +0000 Subject: [PATCH 3/8] add test --- .../e2e/smart-camera-web-agent-mode.cy.js | 58 +++++++++++++++++++ .../pages/smart-camera-web-agent-mode.html | 1 - 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/packages/web-components/cypress/e2e/smart-camera-web-agent-mode.cy.js b/packages/web-components/cypress/e2e/smart-camera-web-agent-mode.cy.js index cd64a703..22a13a65 100644 --- a/packages/web-components/cypress/e2e/smart-camera-web-agent-mode.cy.js +++ b/packages/web-components/cypress/e2e/smart-camera-web-agent-mode.cy.js @@ -2,8 +2,13 @@ context('SmartCameraWeb', () => { beforeEach(() => { cy.visit('/smart-camera-web-agent-mode'); }); + it('should switch from the selfie mode to agent mode"', () => { cy.log('Enable agent mode for tests'); + cy.get('smart-camera-web') + .shadow() + .find('selfie-capture') + .invoke('attr', 'allow-agent-mode', 'true'); cy.get('smart-camera-web') .shadow() .find('selfie-capture') @@ -80,4 +85,57 @@ context('SmartCameraWeb', () => { .find('selfie-capture-review') .should('be.visible'); }); + + it('should not show the agent mode switch button"', () => { + cy.get('smart-camera-web') + .shadow() + .find('selfie-capture') + .invoke('attr', 'show-agent-mode-for-tests', 'false'); + + cy.clock(); + cy.get('smart-camera-web') + .shadow() + .find('selfie-capture-instructions') + .shadow() + .find('#allow') + .click(); + + cy.get('smart-camera-web') + .shadow() + .find('selfie-capture') + .should('be.visible'); + + cy.get('smart-camera-web') + .shadow() + .find('selfie-capture') + .shadow() + .find('#switch-camera') + .should('not.exist'); + + cy.get('smart-camera-web') + .shadow() + .find('selfie-capture') + .shadow() + .should('contain.text', 'Take a Selfie'); + + cy.get('smart-camera-web') + .shadow() + .find('selfie-capture') + .shadow() + .find('#start-image-capture') + .click(); + + cy.tick(8000); + + cy.get('smart-camera-web') + .shadow() + .find('selfie-capture') + .shadow() + .should('not.be.visible'); + + cy.get('smart-camera-web') + .shadow() + .find('selfie-capture-review') + .should('be.visible'); + }); }); diff --git a/packages/web-components/cypress/pages/smart-camera-web-agent-mode.html b/packages/web-components/cypress/pages/smart-camera-web-agent-mode.html index e87fa1a5..711e0690 100644 --- a/packages/web-components/cypress/pages/smart-camera-web-agent-mode.html +++ b/packages/web-components/cypress/pages/smart-camera-web-agent-mode.html @@ -27,7 +27,6 @@ From d1a9e11d7f77e58f5a0143247967cacdb67ab588 Mon Sep 17 00:00:00 2001 From: Barnabas Nsoh Date: Thu, 5 Sep 2024 15:39:46 +0000 Subject: [PATCH 4/8] revert unrelated changes --- packages/embed/src/js/biometric-kyc.js | 4 +--- packages/embed/src/js/doc-verification.js | 4 +--- packages/embed/src/js/smartselfie-auth.js | 10 ++++------ 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/packages/embed/src/js/biometric-kyc.js b/packages/embed/src/js/biometric-kyc.js index 4b441d3d..86c1392f 100644 --- a/packages/embed/src/js/biometric-kyc.js +++ b/packages/embed/src/js/biometric-kyc.js @@ -189,9 +189,7 @@ import { version as sdkVersion } from '../../package.json'; } function initializeSession(generalConstraints, partnerConstraints) { - if (config.allow_agent_mode) { - SmartCameraWeb.setAttribute('allow-agent-mode', true); - } + SmartCameraWeb.setAttribute('allow-agent-mode', config.allow_agent_mode); if (hasThemeColor()) { SmartCameraWeb.setAttribute( 'theme-color', diff --git a/packages/embed/src/js/doc-verification.js b/packages/embed/src/js/doc-verification.js index d1d30e78..0a5f9602 100644 --- a/packages/embed/src/js/doc-verification.js +++ b/packages/embed/src/js/doc-verification.js @@ -217,9 +217,7 @@ import { version as sdkVersion } from '../../package.json'; let selectedIdType; let selectedIdName; - if (config.allow_agent_mode) { - SmartCameraWeb.setAttribute('allow-agent-mode', true); - } + SmartCameraWeb.setAttribute('allow-agent-mode', config.allow_agent_mode); if (hasThemeColor()) { SmartCameraWeb.setAttribute( 'theme-color', diff --git a/packages/embed/src/js/smartselfie-auth.js b/packages/embed/src/js/smartselfie-auth.js index 19068edf..f3f16906 100644 --- a/packages/embed/src/js/smartselfie-auth.js +++ b/packages/embed/src/js/smartselfie-auth.js @@ -65,12 +65,10 @@ import { version as sdkVersion } from '../../package.json'; partner_params = getPartnerParams(); id_info = {}; - if (config.allow_agent_mode) { - SmartCameraWeb.setAttribute( - 'allow-agent-mode', - config.allow_agent_mode, - ); - } + SmartCameraWeb.setAttribute( + 'allow-agent-mode', + config.allow_agent_mode, + ); SmartCameraWeb.setAttribute( 'theme-color', config.partner_details.theme_color, From 748cbe7578bbe8dc4cfeb0e361680f740f1120c0 Mon Sep 17 00:00:00 2001 From: Barnabas Nsoh Date: Thu, 5 Sep 2024 15:39:46 +0000 Subject: [PATCH 5/8] revert unrelated changes --- packages/embed/src/js/enhanced-document-verification.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/embed/src/js/enhanced-document-verification.js b/packages/embed/src/js/enhanced-document-verification.js index 55b4b329..46baa9b8 100644 --- a/packages/embed/src/js/enhanced-document-verification.js +++ b/packages/embed/src/js/enhanced-document-verification.js @@ -84,9 +84,7 @@ import { version as sdkVersion } from '../../package.json'; ); function initializeSession(constraints) { - if (config.allow_agent_mode) { - SmartCameraWeb.setAttribute('allow-agent-mode', config.allow_agent_mode); - } + SmartCameraWeb.setAttribute('allow-agent-mode', config.allow_agent_mode); if (hasThemeColor()) { SmartCameraWeb.setAttribute( 'theme-color', From 25552f71e61d40ff83a1bc12d500bfef4cd33e85 Mon Sep 17 00:00:00 2001 From: Barnabas Nsoh Date: Thu, 5 Sep 2024 15:43:47 +0000 Subject: [PATCH 6/8] fix lint --- .../cypress/pages/smart-camera-web-agent-mode.html | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/web-components/cypress/pages/smart-camera-web-agent-mode.html b/packages/web-components/cypress/pages/smart-camera-web-agent-mode.html index 711e0690..74f6c6ea 100644 --- a/packages/web-components/cypress/pages/smart-camera-web-agent-mode.html +++ b/packages/web-components/cypress/pages/smart-camera-web-agent-mode.html @@ -25,9 +25,7 @@ - +