Skip to content

Commit

Permalink
Merge pull request #129 from BlinkID/jenkins/stable-build
Browse files Browse the repository at this point in the history
Automatically built release by Jenkins
  • Loading branch information
mb-mpisacic authored Mar 12, 2024
2 parents 993923e + f44c636 commit 0c609f6
Show file tree
Hide file tree
Showing 82 changed files with 3,180 additions and 3,066 deletions.
104 changes: 52 additions & 52 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,54 +1,54 @@
{
"root": true,
"env": {
"browser": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
"project": ["./tsconfig.json"]
},
"plugins": [ "@typescript-eslint" ],
"rules": {
"brace-style": ["error", "allman", { "allowSingleLine": true }],
"eol-last": ["error", "always"],
"eqeqeq": ["error", "always"],
"indent": ["error", 4, { "SwitchCase": 1 }],
"linebreak-style": ["error", "unix"],
"lines-between-class-members": ["error", "always"],
"max-len": ["error", { "code": 120 }],
"new-cap": "error",
"no-irregular-whitespace": ["off"],
"no-multiple-empty-lines": "error",
"no-nested-ternary": "error",
"no-trailing-spaces": "error",
"no-unexpected-multiline": ["off"],
"object-curly-spacing": ["error", "always"],
"object-property-newline": "error",
"one-var": ["error", "never"],
"quotes": ["error", "double"],
"semi": ["error", "always"],
"space-before-blocks": ["error", "always"],
"space-in-parens": ["error", "always"],
"spaced-comment": ["error", "always", {
"block": { "balanced": true },
"exceptions": []
}],
"@typescript-eslint/no-empty-interface": ["error", { "allowSingleExtends": true }],
"@typescript-eslint/no-explicit-any": ["error"],
"@typescript-eslint/no-floating-promises": ["error"],
"@typescript-eslint/no-non-null-assertion": ["error"],
"@typescript-eslint/no-unsafe-assignment": ["error"],
"@typescript-eslint/no-unsafe-call": ["error"],
"@typescript-eslint/no-unsafe-member-access": ["error"],
"@typescript-eslint/no-unsafe-return": ["error"],
"@typescript-eslint/no-unused-vars": ["error"],
"@typescript-eslint/restrict-template-expressions": ["error"]
}
"root": true,
"env": {
"browser": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
"project": ["./tsconfig.json"]
},
"plugins": [ "@typescript-eslint" ],
"rules": {
"brace-style": ["error", "allman", { "allowSingleLine": true }],
"eol-last": ["error", "always"],
"eqeqeq": ["error", "always"],
"indent": ["error", 4, { "SwitchCase": 1 }],
"linebreak-style": ["error", "unix"],
"lines-between-class-members": ["error", "always"],
"max-len": ["error", { "code": 120 }],
"new-cap": "error",
"no-irregular-whitespace": ["off"],
"no-multiple-empty-lines": "error",
"no-nested-ternary": "error",
"no-trailing-spaces": "error",
"no-unexpected-multiline": ["off"],
"object-curly-spacing": ["error", "always"],
"object-property-newline": "error",
"one-var": ["error", "never"],
"quotes": ["error", "double"],
"semi": ["error", "always"],
"space-before-blocks": ["error", "always"],
"space-in-parens": ["error", "always"],
"spaced-comment": ["error", "always", {
"block": { "balanced": true },
"exceptions": []
}],
"@typescript-eslint/no-empty-interface": ["error", { "allowSingleExtends": true }],
"@typescript-eslint/no-explicit-any": ["error"],
"@typescript-eslint/no-floating-promises": ["error"],
"@typescript-eslint/no-non-null-assertion": ["error"],
"@typescript-eslint/no-unsafe-assignment": ["error"],
"@typescript-eslint/no-unsafe-call": ["error"],
"@typescript-eslint/no-unsafe-member-access": ["error"],
"@typescript-eslint/no-unsafe-return": ["error"],
"@typescript-eslint/no-unused-vars": ["error"],
"@typescript-eslint/restrict-template-expressions": ["error"]
}
}
35 changes: 34 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,37 @@
# Release notes
## v6.5.1

### Lightweight builds

This release contains multiple builds tailored for different devices' capabilities.

These builds are:
#### Full
Regular build that has barcode deblurring models. This build is loaded automatically on desktop devices.

#### Lightweight
Build without deblurring models. This build is loaded automatically on mobile devices. Deblurring models are usually not necessary due to better quality cameras compared to front-facing laptop cameras.

These builds each contain previous build variants present so far: basic, advanced with SIMD and advanced with multithreading making a total of 6 possible builds.

These builds can be overridden by using a new property on the settings objects `WasmSDKLoadSettings.blinkIdVariant`:

```ts
export type BlinkIDVariant = "full" | "lightweight";
```

These can also be set on the UI component via the `blinkIdVariant` prop.

### Dynamic webassembly memory management

Depending on the device used, the SDK will allocate different amounts of memory on startup.
This is primarily used as a mitigation mechanism for iOS's memory management, which often blocks webassembly memory growth.

Although it's not recommended, this can be overridden using `WasmSDKLoadSettings.initialMemory`.

### Other fixes:
- Fixed an issue where certain iOS devices would display a zoomed in preview.
- Improved scanning of Bolivia IDs by addressing cases where the expiration date is covered by a signature, allowing the completion of the scanning process.


## v6.5.0

Expand Down
100 changes: 66 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,36 +27,52 @@ Please keep in mind that BlinkID In-browser SDK is meant to be used natively in

## Table of contents

* [Components of SDK](#components-of-sdk)
* [Integration instructions](#integration)
* [Obtaining a license key](#obtainingalicensekey)
* [Installation](#installation)
* [Performing your first scan](#firstScan)
* [Recognizing still images](#stillImagesRecognition)
* [Configuration of SDK](#sdkConfiguration)
* [Deployment guidelines](#deploymentGuidelines)
* [The `Recognizer` concept, `RecognizerRunner` and `VideoRecognizer`](#availableRecognizers)
* [The `Recognizer` concept](#recognizerConcept)
* [`RecognizerRunner`](#recognizerRunner)
* [Performing recognition of video streams using `VideoRecognizer`](#videoRecognizer)
* [Custom UX with `VideoRecognizer`](#customUXWithVideoRecognizer)
* [Handling processing events with `MetadataCallbacks`](#metadataCallbacks)
* [List of available recognizers](#recognizerList)
* [ID barcode recognizer](#idBarcodeRecognizer)
* [BlinkID Single-side recognizer](#blinkidSingleSideRecognizer)
* [BlinkID Multi-side recognizer](#blinkidMultiSideRecognizer)
* [Recognizer settings](#recognizerSettings)
* [Technical requirements](#technicalRequirements)
* [Supported browsers](#webassembly-support)
* [Camera devices](#camera-devices)
* [Device support](#device-support)
* [Troubleshooting](#troubleshoot)
* [Integration problems](#integrationProblems)
* [SDK problems](#sdkProblems)
* [Licensing problems](#licensingProblems)
* [Other problems](#otherProblems)
* [FAQ and known issues](#faq)
* [Additional info](#info)
- [BlinkID In-browser SDK](#blinkid-in-browser-sdk)
- [Table of contents](#table-of-contents)
- [ Components of SDK](#-components-of-sdk)
- [ Integration instructions](#-integration-instructions)
- [ Obtaining a license key](#-obtaining-a-license-key)
- [ Installation](#-installation)
- [WASM Resources](#wasm-resources)
- [Versions and backward compatibility](#versions-and-backward-compatibility)
- [ Performing your first scan](#-performing-your-first-scan)
- [ Recognizing still images](#-recognizing-still-images)
- [ Configuration of SDK](#-configuration-of-sdk)
- [ Deployment guidelines](#-deployment-guidelines)
- [HTTPS](#https)
- [Deployment of WASM files](#deployment-of-wasm-files)
- [Server Configuration](#server-configuration)
- [ Location of WASM and related support files](#-location-of-wasm-and-related-support-files)
- [Setting up multiple licenses](#setting-up-multiple-licenses)
- [Multiple apps](#multiple-apps)
- [Single app](#single-app)
- [ The `Recognizer` concept, `RecognizerRunner` and `VideoRecognizer`](#-the-recognizer-concept-recognizerrunner-and-videorecognizer)
- [ The `Recognizer` concept](#-the-recognizer-concept)
- [ `RecognizerRunner`](#-recognizerrunner)
- [ Performing recognition of video streams using `VideoRecognizer`](#-performing-recognition-of-video-streams-using-videorecognizer)
- [Recognizing a video file](#recognizing-a-video-file)
- [ Custom UX with `VideoRecognizer`](#-custom-ux-with-videorecognizer)
- [ Handling processing events with `MetadataCallbacks`](#-handling-processing-events-with-metadatacallbacks)
- [ List of available recognizers](#-list-of-available-recognizers)
- [ ID barcode recognizer](#-id-barcode-recognizer)
- [ BlinkID Single-side recognizer](#-blinkid-single-side-recognizer)
- [ BlinkID Multi-side recognizer](#-blinkid-multi-side-recognizer)
- [ Recognizer settings](#-recognizer-settings)
- [ Technical requirements](#-technical-requirements)
- [ Supported browsers](#-supported-browsers)
- [ Camera devices](#-camera-devices)
- [ Device support](#-device-support)
- [ SDK and *WebView*/*WKWebView*/*SFSafariViewController*](#-sdk-and-webviewwkwebviewsfsafariviewcontroller)
- [Android and *WebView*](#android-and-webview)
- [iOS, *WKWebView* and *SFSafariViewController*](#ios-wkwebview-and-sfsafariviewcontroller)
- [Conclusion](#conclusion)
- [ Troubleshooting](#-troubleshooting)
- [ Integration problems](#-integration-problems)
- [ SDK problems](#-sdk-problems)
- [ Licensing problems](#-licensing-problems)
- [ Other problems](#-other-problems)
- [ FAQ and known issues](#-faq-and-known-issues)
- [ Additional info](#-additional-info)

## <a name="components-of-sdk"></a> Components of SDK

Expand Down Expand Up @@ -144,7 +160,7 @@ import * as BlinkIDSDK from "./es/blinkid-sdk.js";

#### WASM Resources

After adding BlinkID SDK to your project, make sure to include all files from its `resources` folder in your distribution. Those files contain a compiled WebAssembly module and support JS code.
After adding BlinkID SDK to your project, make sure to include all files from its `resources` folder in your distribution. Those files contain compiled WebAssembly modules and support JS code.

Do not add those files to the main app bundle, but rather place them on a publicly available location so that the SDK can load them at an appropriate time. For example, place the resources in `my-angular-app/src/assets/` folder if using `ng new` or in `my-react-app/public/` folder if using `create-react-app`.

Expand Down Expand Up @@ -377,7 +393,7 @@ Otherwise, the browser will block access to a web camera and remote scripts due

#### Deployment of WASM files

WASM wrapper contain three different builds:
The SDK contains multiple builds tailored for different devices' capabilities.

- `Basic`

Expand All @@ -395,7 +411,23 @@ WASM wrapper contain three different builds:

- Keep in mind that this WASM bundle requires that all resources are on the same origin. So, for example, it's not possible to load WASM files from some CDN. This limitation exists due to browser security rules.

_Files: resources/{basic,advanced,advanced-threads}/BlinkIDWasmSDK.{data,js,wasm}_
Additionally, there's two different BlinkID variants:

- **Full**
- Regular build that has barcode deblurring models. This build is loaded automatically on desktop devices.

- **Lightweight**
- Build without deblurring models. This build is loaded automatically on mobile devices. Deblurring models are usually not necessary due to better quality cameras compared to front-facing laptop cameras.

These builds each contain previous build variants present so far: basic, advanced with SIMD and advanced with multithreading making a total of 6 possible builds.

These builds can be overridden by using a new property on the settings objects `WasmSDKLoadSettings.blinkIdVariant`:


```ts
export type BlinkIDVariant = "full" | "lightweight";
```


##### Server Configuration

Expand Down Expand Up @@ -744,7 +776,7 @@ It's hard to pinpoint exact hardware specifications for successful data extracti

* Browsers supported by BlinkID can run on older devices, where extraction can take much longer to execute, e.g. around 30 or even 40 seconds.

## <a name="embedded"> SDK and *WebView*/*WKWebView*/*SFSafariViewController*
## <a name="embedded"> SDK and *WebView*/*WKWebView*/*SFSafariViewController*</a>

### Android and *WebView*

Expand Down
Loading

0 comments on commit 0c609f6

Please sign in to comment.