Releases: iProov/web
Releases · iProov/web
v3.4.0
01.02.2022 3.4.0
Fixed
- UI - Fixed an issue where the UI scaled incorrectly when shifting between orientations and resizing the window
- UI - We've reduced the "page jank" when resizing the UI, when the window resizes change or the phone rotates
Changes
- UI - We've smoothed out the "move closer" prompt to avoid toggling between two UI states.
- Timeouts - We now handle timeout logic in a much clearer way:
- The SDK emits an error event with feedback code
error_token_timeout
if the user starts the iProov session too late. - As before, if the user starts iProoving but doesn't stream imagery in time, the SDK emits a failure event with the
feedback codefailure_user_timeout
.
- The SDK emits an error event with feedback code
- Error messaging and language - We've increased the level of detail, see
iproov-en.json
for the new strings:- When the SDK runs any of the following callbacks:
error
,cancelled
,interrupted
,permission_denied
,no_camera
orunsupported
:- The language string mapping to the
feedback
event property is now displayed as the heading. - A new language string has been added for each
feedback
code, suffixed with_message
. - Example:
error_no_camera
is the heading term, defaulting to "We couldn't find a camera connected to your device" - Example:
error_no_camera_message
is the text term displayed beneath the heading, defaulting to "A camera must be available to use iProov"
- The language string mapping to the
- If your integration specifies language strings but doesn't implement the new
_message
suffix, then we fall back to the old behaviour:- Heading using the "error" language term, and text using the corresponding feedback code's language term.
- When the SDK runs any of the following callbacks:
Added
- Genuine Presence Assurance - added reflection strength estimation capabilities
- Language strings:
error_token_timeout
anderror_token_timeout_message
when sessions don't start within 10 minutes of token createiproov_ready_title
to allow internationalisation of "Ready to iProov" on the ready callbackiproov_ready_button
to allow internationalisation of "Scan face" for the ready callback button
v3.3.8
14.01.2022 3.3.8
Fixed
- Support - We've improved support logic where our partners embed the Web SDK into webpages which might lack the required feature policies to run properly.
- client_error - We've fixed a large proportion, if not all, of video
NotAllowedError
and fullscreen relatedTypeError
in browsers that use different user activation paradigms. - server_error - Some cases where tokens expired after 10 minutes were being classified as
server_error
. These are now correctly thrown aserror_expired_token
.
Internal changes
- Start button - After the user clicks the start button, we now briefly set the start button innerHTML to the prompt_loading language term while the video starts.
- Support checker - We've made a few changes that help give users a better experience:
- Where possible in Liveness, we now check
document.featurePolicy
foraccelerometer
,gyroscope
andmagnetometer
. If these aren't allowed, instead of starting the SDK and erroring, we now run the unsupported callback. - For both GPA and Liveness, we now require fullscreen to be enabled on the webpage, unless in iOS. This ensures correct behaviour of the SDK.
- We no longer use the Permissions API to establish camera support due to its poor support and unreliable behaviour.
- Where possible in Liveness, we now check
v3.3.6
09.12.2021 3.3.6
Fixed
- Client errors - We've fixed some, if not all, instances of
NotAllowedError
occurring when we get a video stream. - WebGL - We now gracefully handle
webglcontextlost
events which might happen when devices are under high load. - Iframe Bridge + Native Bridge - We fixed a regression introduced in 3.3.5. Sorry about that.
v3.3.5
26.11.2021 3.3.5
Fixed
- Supported Devices - Block custom webview user agents where we can't test if supported.
- Interrupted Event - If exiting fullscreen, handle when there's no video feed.
- Unsupported video feeds - Further improve handling of very low resolutions.
- Permission button - the grant button delay has been fixed
Internal Additions
- Telemetry - Collects state of the SDK during various events, and in the case of incomplete transactions.
- Socket.io dependency - We've upgraded our socket.io client dependency to version 4 to match the server.
v3.3.4
Fixed
- a11y - Improve text to speech order while using some screen readers.
- No Face Timeouts - Only start detecting faces when ready is clicked.
- Error Handling - Ensure error messages are always present.
v3.3.3
Fixed
- Safari fullscreen issues - Handle
Safari 13-14.1
not reporting fullscreen enter/exit events correctly. - Safari permission issues - We fixed an issue where permission could be blocked on certain devices.
- Progress event - Progress event returned messages weren't being localised.
Changes
- Unsupported video feeds - Detect very low resolutions and attempt to use a different video device if possible.
- Safari 15.0 desktop - Regrettably, this browser is now blocked until Apple releases a version that fixes various regressions.
- Native Bridge - Added support for Native Bridge inside iframes which will be supported on iOS 14+ with iProov SDK v9.1 (coming soon). Iframes on iOS 13 and under cannot be supported and will raise an unsupported error.
- WebGL - THREE.js upgraded to 0.133.1.
v3.3.2
Fixed
- Liveness - We have worked around instances where devices do not send orientation events. These previously triggered
device_motion_unsupported
errors.
Changes
- Performance analysis - We have further tweaked our logging to enhance performance analysis in the long term.
v3.3.1
Fixed
- Safari on iOS - Worked around circumstances when Safari provides corrupt imagery.
- Safari on iOS - Liveness is now supported in an iframe on iOS 15 without the use of Iframe Bridge.
Changes
- Face detection - Blazeface + TFJS upgraded to 0.0.7 and 3.8.0 respectively, enabling SIMD support, making things faster.
- UI - Minor optimisations and simplified our shaders to reduce the WebGL load where possible.
- UI - Low FPS Mode no longer presents an overpixellated UI. This should improve completion rates.
- Crash handling - Improved detection of face detector crashes.
- Performance Analysis - Improved distinction between the user clicking the exit button or exiting fullscreen.
v3.3.0
New
- Camera selection - in multi camera environments, where browser support allows it, we have improved camera selection logic to prioritise user facing and higher resolution devices.
Fixed
- Camera selection - multiple camera selection no longer blocks fullscreen.
- Camera selection - we have fixed a regression where programmatically setting the camera device in slotted content failed.
- Safari on macOS Catalina - we have worked around Safari's lack of fullscreen event support for this OS.
Please note our Browserslist database has been updated to 1.0.30001248
.
v3.2.2
Fixed
- Fixed crashing issue found in some JavaScript libraries.
- Fixed missing
connecting
event. - Fixed missing
feedback
property frominterrupted
andcancelled
events.
Deprecation Notice
The code
property which is returned within event.details
has been deprecated and will be removed in future versions. This was unintentionally added. If you are using code
please switch to the feedback
property. For more details on the correct way to use event data please see our docs.