web

iProov's Web SDK

OTHER License

Downloads
953
Stars
19
Committers
7

Bot releases are hidden (Show)

web - v3.3.6

Published by willmorgan almost 3 years ago

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.
web - v3.3.5

Published by willmorgan almost 3 years ago

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.
web - v3.3.4

Published by GlenHughes almost 3 years ago

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.
web - v3.3.3

Published by GlenHughes about 3 years ago

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.
web -

Published by willmorgan about 3 years ago

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.
web -

Published by willmorgan about 3 years ago

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.
web -

Published by willmorgan about 3 years ago

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.

web - v3.2.2

Published by GlenHughes over 3 years ago

Fixed

  • Fixed crashing issue found in some JavaScript libraries.
  • Fixed missing connecting event.
  • Fixed missing feedback property from interrupted and cancelled 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.

web -

Published by willmorgan over 3 years ago

18.06.2021 3.2.1

Fixed

  • Fixed cancelled or interrupted events not firing if the back button is pressed on single page apps using popstate.
  • Fixed bug in how the UI scales in size to fit the whole screen.
  • Fixed cases when abort events were fired twice due to an internal API race condition.
  • UX GPA: moveLeft and moveRight states have been removed from mobile devices. moveUp, moveDown, moveCloser and moveBack remain in place.
  • UX GPA: limited video config will now only prompt for moveCloser and moveBack.

Added

  • Added error_too_many_requests language string which is displayed when rate limiting is enforced at the client side.
web - v3.2.0

Published by GlenHughes over 3 years ago

Fixed

  • Fixed "Keep still" message from disappearing while streaming when show_countdown is set to true.
  • Fix rotate portrait issues on Android devices.
  • Fix various fullscreen flicker issues.
  • Fix race condition when exiting fullscreen where the UI may not hand control back to the host page.

Added

UI Customisation

  • New options have been added to customise the UI colours:
    • header_background_color
    • header_text_color
    • footer_background_color
    • footer_text_color
    • progress_bar_color
    • loading_tint_color
    • not_ready_tint_color
    • ready_tint_color
    • oval_scanning_color
    • liveness_tint_color
    • liveness_scanning_tint_color
  • A new close_button URL option has been added to customise the close button.

Timeout Logic

  • The network_timeout option has been added, defaulting to 10 seconds. See the docs for more details.
  • If we don't receive a response from our backend in this time, we error with error_network.

Iframe Bridge

  • Iframe Bridge for Mobile Safari has been added in order to support Liveness transactions, where the device would otherwise report unsupported.
    • New events:
      • iframe_bridge
    • New slots:
      • iframe_bridge_title
      • iframe_bridge_button
    • New language strings:
      • iframe_bridge_title
      • iframe_bridge_button

General

Changed

  • Various changes have been made to feedback and reason values within the error and failure event details that are passed back to match the documentation.
    • user_timeout is now failure_user_timeout and only passed within the failed event. This was being triggered as an error event when the token had been used before or was invalid which has now been replaced with error_expired_token.
    • error_camera is now client_camera which is fired when the device camera does not provide video for 8 seconds.
  • The SDK has been split out into constituent chunks which are lazy loaded on demand. This increases page speed.
web -

Published by willmorgan over 3 years ago

Fixed

  • Stability: internal resource lifecycle management has been improved to reduce crashes due to memory leakage.
  • UX: touch scrolling is now blocked between the started event and exiting fullscreen.
  • UX: Page jank when entering fullscreen, particularly in Chrome, has been fixed - see changes.
  • Allow landscape: an issue causing broken images in the rotate slot has been fixed.
  • Cameras: An issue where mobile devices could choose the environment facing camera has been fixed.
  • Safari Desktop: AbortError is now handled. These cases remain subject to video data timeout checks.

Changed

  • started event behaviour has been changed in a BC-safe way to reduce page jank:
    • The started event is now sent after entering fullscreen rather than in parallel
    • The started slot manager callback no longer hides all slots when entering fullscreen.
    • The streaming event is the soonest event that all slots are hidden.
  • Internal UI lifecycle management has been tidied which may yield a slight improvement in UI performance.
web - v3.1.9

Published by willmorgan over 3 years ago

Fixed

  • Problems entering fullscreen will no longer abort the transaction. In these rare cases, transactions will be allowed to continue.
  • Opera Touch is now a supported browser after working around a WebKit issue.
  • When running Web SDK inside a react-native-webview, it no longer flags the environment as unsupported.

Internals

  • The following are now sent to the backend to improve telemetry and customer support:
    • When Web SDK detects it's within an iframe, the window innerWidth and innerHeight are sent.
    • Fullscreen status is sent.
web - 3.1.8

Published by willmorgan over 3 years ago

20.4.2021 3.1.8

Fixed

  • When a user cancels inside Native Bridge, the cancelled event is now correctly triggered from the Web SDK.
  • UI text overflow is now elegantly managed, rather than clipping at the edges.
  • Speculative fix to some Android webview environments crashing due to an undefined browser name.
  • Liveness transactions no longer experience UX issues when rotating to and from landscape orientation.
  • The SDK will issue a clear error message if it receives an invalid looking token to the SDK, rather than displaying a server error.
  • The unsupported event now aborts the claim with a device_unsupported code which will aid analytics.
web - 3.1.7

Published by GlenHughes over 3 years ago

14.4.2021 3.1.7

Fixed

  • is_native_bridge property restored to event payloads. Previously this was only present during native bridge claims.
  • Fixed streamed event to fire when all video frames have streamed. Previously this erroneously fired after encoding.
web - 3.1.6

Published by willmorgan over 3 years ago

5.3.2021 3.1.6

Fixed

  • Fixed UI animation loop not always stopping
  • Improve scanline synchronisation with flashing
  • Various performance improvements

Changed

  • Optimised UI opening / rotation experience
web - 3.1.5

Published by willmorgan over 3 years ago

4.3.2021 3.1.5

Fixed

  • Fixed starting in landscape orientation then rotating to portrait UI issues
  • Improved GPA flash timing, particularly on Android
  • Improved low FPS detection
  • Added missing feedback property from some error events
  • Fixed documentation to correctly reflect error_fullscreen_change and error_no_face_found event names
  • Fixed instances when rare Android Native SDK crashes may take the Web SDK with them, too
  • Fixed occasional .emit function not found errors
  • Fixed issues when lower end Android cameras were unable to request a video feed in a useful aspect ratio

Added

  • Added error_no_face_found to public documentation
web -

Published by willmorgan over 3 years ago

12.2.2021 3.1.4

Fixed

  • Fixed an issue where the progress bar would not display if show_countdown is enabled.
  • Fixed kiosk_mode issue on iPads where the camera is drawn partly off screen.
  • Fixed an issue where the camera remains active after a timeout occurs.
  • Fixed an issue where multiple cameras broadcasts multiple times. It now broadcasts once.
  • Fixed an issue where slot encapsulation was broken and events may be bound to slots outside the component.
  • Fixed iPads on iOS < 14 showing as unsupported in 3.1.x.
  • Fixed an issue where specifying a path with base_url was not respected.
  • Fixed an issue where iframed Web SDK components time out waiting for gyro information in mobile Safari.

Changed

  • Internals: changed Web Component attachment mode to closed.
  • Internals: the Web SDK will now connect and emit console warnings and errors to our Socket.IO server for quality improvement and crash analysis.
  • Bundle size: the main Web SDK entrypoint no longer includes Baidu and KaiOS build targets
    • These browsers currently do not support our minimum requirements
    • The iProovSupport component is still built to target these browsers so you can still establish support
    • The main package size has reduced by 18% with no material change to browser support

Added

  • 20% more π
web - 3.1.3

Published by GlenHughes almost 4 years ago

6.1.2021 3.1.3

Fixed

  • Fixed desktop Safari issue when starting in certain camera resolutions.
web - 3.1.2

Published by willmorgan almost 4 years ago

1.1.2021 3.1.2

Added

  • Improved documentation on the web public repo.

Fixed

  • The console object is no longer overridden. Sorry about that.
  • Documentation updates and inaccuracies:
    • Various iProovSupport documentation relating to payloads and availability on the global object
    • Documentation relating to the payload of the progress event has been corrected.
  • iProovSupport can now be loaded standalone without a bundler; regeneratorRuntime is now defined.
  • Language strings can now be customised on slotted elements. Previously this didn't work.
  • Fixed double checking for videoInput. Just once is enough.
  • iProovSupport prompting in Chrome prompts instantly, previously it delayed.
  • Fixed SDK crashing if passing a token not associated with a user_id. Unlikely, but displays a clean error instead.
web - 3.1.1

Published by willmorgan almost 4 years ago

Available at: https://www.npmjs.com/package/@iproov/web/v/3.1.1

24.12.2020 3.1.1

Fixed

  • Assets which contained // caused 403 issues when hosting assets on Amazon S3. The paths have now been fixed.
  • When starting iProov on a bezel-free phone, the layout appeared misaligned. This has now been fixed.
  • Disabled underlying TensorflowJS WASM threads due to instability. SIMD remains available.

23.12.2020 3.1.0

Added

  • Desktop device support for Liveness. We no longer require a mobile device for Liveness transactions.
  • The SDK can now optionally return a selfie frame from the scanning process for both GPA and Liveness transactions.
    • If this is enabled for your service provider, this will be present in the passed and failed callback payloads.
  • iProovSupport is a separate export to facilitate a smaller critical bundle size for integrators.
    • Using a module bundler you can run import { iProovSupport } from "@iproov/web/iProovSupport"
    • Script tag integrations can still access window.IProov.IProovSupport for the time being.
  • version property on the iProovMe component.
    • This is also accessible on window.IProov.version.
  • Multiple camera device support on desktop, including ability to customise.
  • Added the csp_nonce option. See Content Security Policy.
  • External dependencies are now loaded with <link rel=preload> for non-blocking parallel loading.
  • Our feature detector now runs the latest Tensorflow release which includes support for WebAssembly threads and SIMD.
  • New streamed event to accommodate the original documented functionality.
  • Support added from iOS 14.3 for WKWebView based browsers on iOS such as Chrome, Firefox, MS Edge, etc.

Fixed

  • Various CSP warnings have been resolved. See Content Security Policy.
  • Firefox and Safari no longer display the grant button unless required.
  • Further performance improvements targeted at lower end machines which have a net-positive effect across the board.
  • UX improvements for Liveness on mobile devices
  • Kiosk mode performance issues on Safari
  • Progress bar animation

Changed

  • Bundling and modularisation upgrades.
    • Dependencies are once again modular, and will be loaded as needed.
    • This reduces the bundle size from 4MB (plus dependencies) to around 1.3MB gzipped (including dependencies).
    • With the iProovSupport change, the pre-gzip impact to an integration's critical bundle is 16KB raw (was 4MB).
    • With that, assets_url's meaning is changing again, we're afraid...
    • Customers now have a choice to either serve Web SDK assets "on premises", use our CDN, or reverse proxy.
    • This affects CDN and reverse proxy configurations; we do hope this is the last change to asset loading for a long time.
    • Please see the upgrade guide for steps needed.
  • The main entry file for the npm package is now iProovMe.js.
  • Language files have been updated to be brought into line with native SDKs.
  • Minor tweaks to UI to bring the UI experience inline with native SDKs.
  • Improved resolution management for less capable or hardware constrained devices.
  • Improved our encoder for better speed and the latest bugfixes.
  • Bandwidth usage reduced
  • The streamed event now emits at the correct time, which may break integrations that rely upon it.
    • To upgrade, replace streamed with streaming which takes its place.

Removed

  • Bundled Web Component support. Polyfills are now loaded on an as-needed basis.
  • Automatic transpilation for the following outdated browsers:
    • Blackberry < 10
    • Edge < 85
    • Firefox < 82
    • IE < 11
    • IE Mobile (all)
    • iOS Safari < 13.4
    • Opera < 70
    • Safari < 13.1
    • Please see .browserslistrc for the current targeted browsers.
    • If your app must support older browsers, simply transpile the standalone iProovSupport.js checker as needed.
Package Rankings
Top 10.23% on Npmjs.org
Related Projects