Releases: BlinkId@v7.8.0#39
Conversation
📝 WalkthroughWalkthroughThis PR introduces the Ping SDK schema v1.3.0 with proxy-related boolean flags, enhances BlinkID scanning results with cardAccessNumber, expands supported document types and countries, adds lint-staged configurations across packages, and bumps versions with corresponding changelog entries. ChangesPing SDK v1.3.0 with Proxy Flags
BlinkID Scanning Result Enhancements
Lint-staged Configuration & Build Tool Updates
Sequence Diagram(s)sequenceDiagram
participant Worker as BlinkCard/BlinkID Worker
participant PingHelper as getMicroblinkProxyPingFlags
participant License as License Unlock Result
participant Ping as Ping SDK (v1.3.0)
Worker->>Worker: initBlinkCard/BlinkID
Worker->>Worker: Obtain proxyUrl & licenseResult
Worker->>PingHelper: getMicroblinkProxyPingFlags(proxyUrl, license)
PingHelper->>License: Check allowPingProxy, allowBaltazarProxy, hasPing
PingHelper-->>Worker: {pingProxyEnabled, baltazarProxyEnabled}
Worker->>Ping: Spread flags into init pinglet data
Ping->>Ping: schemaVersion: "1.3.0"
Note over Ping: data includes proxy flags + metadata
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes The PR spans multiple packages with a mix of type/interface additions, documentation updates, and new utility functions. The core logic is straightforward (proxy flag computation and integration), but the breadth of changes across packages, repetitive lint-staged config additions, and numerous version/changelog bumps require careful verification of consistency and dependencies. Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (1)
packages/blinkid-wasm/lint-staged.config.mjs (1)
2-2: 💤 Low valueESLint runs project-wide on every commit, not just on staged files.
Returning a string from the function (ignoring the staged-files argument) causes lint-staged to invoke ESLint without any file arguments, which lints the entire project. This is probably intentional to catch cross-file regressions — but it can make pre-commit noticeably slower as the project grows. The
prettierentry on line 6, by contrast, correctly receives only the staged files.If project-wide linting is the desired behaviour, a brief comment would clarify intent; otherwise, use the staged filenames:
♻️ Option A — pass staged files (faster, mirrors the prettier entry)
- "*.{js,cjs,mjs,jsx,ts,mts,tsx}": [() => "eslint --max-warnings=0"], + "*.{js,cjs,mjs,jsx,ts,mts,tsx}": ["eslint --max-warnings=0"],♻️ Option B — keep project-wide but document why
- "*.{js,cjs,mjs,jsx,ts,mts,tsx}": [() => "eslint --max-warnings=0"], + // Function ignores staged filenames intentionally: runs project-wide to catch cross-file regressions. + "*.{js,cjs,mjs,jsx,ts,mts,tsx}": [() => "eslint --max-warnings=0"],🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/blinkid-wasm/lint-staged.config.mjs` at line 2, The lint-staged entry for the glob "*.{js,cjs,mjs,jsx,ts,mts,tsx}" currently returns a constant string from the arrow function (() => "eslint --max-warnings=0") which causes ESLint to run project-wide; either change that function to accept the staged-files argument and pass only those files to ESLint (e.g., (stagedFiles) => `eslint --max-warnings=0 ${stagedFiles.join(' ')}`) to mirror the prettier entry and speed up commits, or retain the project-wide behavior but replace the arrow function with a clear inline comment explaining the intentional project-wide linting so intent is documented.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/blinkid/OssDependencies.md`:
- Line 155: The table row referencing
"gtest/1.14.10@microblink/main#aeea6cc884a4400edf8084592f7b23ec" uses a generic
"[Link]" which triggers MD059; replace the generic link text with descriptive
text (e.g., "Google Test repository" or "gtest Bitbucket repo") so the markdown
becomes [Google Test
repository](https://bitbucket.org/microblink/core-google-test/src), keeping the
URL unchanged and preserving the existing table cell content and meaning.
In `@packages/blinkid-wasm/CHANGELOG.md`:
- Line 7: Fix the malformed list marker in the changelog entry by replacing the
double marker "- - **Results:**" with a single list marker "- **Results:**" so
the line reads "- **Results:** `BlinkIdScanningResult` and `VizResult` now
expose optional `cardAccessNumber` (`StringResult`). Update the line containing
the "Results:" text (referenced by `BlinkIdScanningResult` and `VizResult`) to
remove the extra hyphen.
In `@packages/worker-common/src/proxy-url-validator.test.ts`:
- Around line 311-318: The test "returns baltazar false for offline license even
with URL and allowBaltazarProxy" currently overrides baseLicense with
allowBaltazarProxy: false so it never exercises the intended scenario; update
the test that calls getMicroblinkProxyPingFlags to use baseLicense without
overriding allowBaltazarProxy (or explicitly set allowBaltazarProxy: true) so
the assertion about baltazarProxyEnabled: false for an offline license with
allowBaltazarProxy true is actually verified; keep the expected result ({
pingProxyEnabled: true, baltazarProxyEnabled: false }) and adjust only the
license input used in that it(...) block.
---
Nitpick comments:
In `@packages/blinkid-wasm/lint-staged.config.mjs`:
- Line 2: The lint-staged entry for the glob "*.{js,cjs,mjs,jsx,ts,mts,tsx}"
currently returns a constant string from the arrow function (() => "eslint
--max-warnings=0") which causes ESLint to run project-wide; either change that
function to accept the staged-files argument and pass only those files to ESLint
(e.g., (stagedFiles) => `eslint --max-warnings=0 ${stagedFiles.join(' ')}`) to
mirror the prettier entry and speed up commits, or retain the project-wide
behavior but replace the arrow function with a clear inline comment explaining
the intentional project-wide linting so intent is documented.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 3eb6a1e7-4118-458f-a5bb-630ebc2a6f6e
⛔ Files ignored due to path filters (30)
packages/blinkcard-wasm/dist/advanced-threads/BlinkCardModule.jsis excluded by!**/dist/**packages/blinkcard-wasm/dist/advanced-threads/BlinkCardModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkcard-wasm/dist/advanced/BlinkCardModule.jsis excluded by!**/dist/**packages/blinkcard-wasm/dist/advanced/BlinkCardModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkcard-wasm/dist/basic/BlinkCardModule.jsis excluded by!**/dist/**packages/blinkcard-wasm/dist/basic/BlinkCardModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkcard-wasm/dist/size-manifest.jsonis excluded by!**/dist/**packages/blinkid-verify-wasm/dist/advanced-threads/BlinkIdVerifyModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-verify-wasm/dist/advanced/BlinkIdVerifyModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-verify-wasm/dist/size-manifest.jsonis excluded by!**/dist/**packages/blinkid-wasm/dist/full/advanced-threads/BlinkIdModule.datais excluded by!**/dist/**packages/blinkid-wasm/dist/full/advanced-threads/BlinkIdModule.jsis excluded by!**/dist/**packages/blinkid-wasm/dist/full/advanced-threads/BlinkIdModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-wasm/dist/full/advanced/BlinkIdModule.datais excluded by!**/dist/**packages/blinkid-wasm/dist/full/advanced/BlinkIdModule.jsis excluded by!**/dist/**packages/blinkid-wasm/dist/full/advanced/BlinkIdModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-wasm/dist/full/basic/BlinkIdModule.datais excluded by!**/dist/**packages/blinkid-wasm/dist/full/basic/BlinkIdModule.jsis excluded by!**/dist/**packages/blinkid-wasm/dist/full/basic/BlinkIdModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-wasm/dist/lightweight/advanced-threads/BlinkIdModule.datais excluded by!**/dist/**packages/blinkid-wasm/dist/lightweight/advanced-threads/BlinkIdModule.jsis excluded by!**/dist/**packages/blinkid-wasm/dist/lightweight/advanced-threads/BlinkIdModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-wasm/dist/lightweight/advanced/BlinkIdModule.datais excluded by!**/dist/**packages/blinkid-wasm/dist/lightweight/advanced/BlinkIdModule.jsis excluded by!**/dist/**packages/blinkid-wasm/dist/lightweight/advanced/BlinkIdModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-wasm/dist/lightweight/basic/BlinkIdModule.datais excluded by!**/dist/**packages/blinkid-wasm/dist/lightweight/basic/BlinkIdModule.jsis excluded by!**/dist/**packages/blinkid-wasm/dist/lightweight/basic/BlinkIdModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-wasm/dist/size-manifest.jsonis excluded by!**/dist/**pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (74)
docs/blinkcard/OssDependencies.mddocs/blinkid-verify/OssDependencies.mddocs/blinkid/OssDependencies.mddocs/blinkid/ResultFields.mddocs/blinkid/SupportedDocuments.mdpackage.jsonpackages/analytics/package.jsonpackages/analytics/src/ping/ping.sdk.init.start.tspackages/blinkcard-core/docs/type-aliases/PingSdkInitStart.mdpackages/blinkcard-core/docs/type-aliases/PingSdkInitStartData.mdpackages/blinkcard-wasm/lint-staged.config.mjspackages/blinkcard-wasm/package.jsonpackages/blinkcard-worker/src/BlinkCardWorker.initBlinkCard.test.tspackages/blinkcard-worker/src/BlinkCardWorker.test.tspackages/blinkcard-worker/src/BlinkCardWorker.tspackages/blinkcard/docs/type-aliases/PingSdkInitStart.mdpackages/blinkcard/docs/type-aliases/PingSdkInitStartData.mdpackages/blinkid-core/CHANGELOG.mdpackages/blinkid-core/docs/type-aliases/BlinkIdScanningResult.mdpackages/blinkid-core/docs/type-aliases/Country.mdpackages/blinkid-core/docs/type-aliases/DocumentType.mdpackages/blinkid-core/docs/type-aliases/FieldType.mdpackages/blinkid-core/docs/type-aliases/PingSdkInitStart.mdpackages/blinkid-core/docs/type-aliases/PingSdkInitStartData.mdpackages/blinkid-core/docs/type-aliases/VizResult.mdpackages/blinkid-core/package.jsonpackages/blinkid-ux-manager/CHANGELOG.mdpackages/blinkid-ux-manager/package.jsonpackages/blinkid-verify-core/docs/type-aliases/PingSdkInitStart.mdpackages/blinkid-verify-core/docs/type-aliases/PingSdkInitStartData.mdpackages/blinkid-verify-wasm/lint-staged.config.mjspackages/blinkid-verify-wasm/package.jsonpackages/blinkid-verify-worker/src/BlinkIdVerifyWorker.tspackages/blinkid-verify/docs/type-aliases/PingSdkInitStart.mdpackages/blinkid-verify/docs/type-aliases/PingSdkInitStartData.mdpackages/blinkid-wasm/CHANGELOG.mdpackages/blinkid-wasm/docs/type-aliases/BlinkIdScanningResult.mdpackages/blinkid-wasm/docs/type-aliases/Country.mdpackages/blinkid-wasm/docs/type-aliases/DocumentType.mdpackages/blinkid-wasm/docs/type-aliases/FieldType.mdpackages/blinkid-wasm/docs/type-aliases/VizResult.mdpackages/blinkid-wasm/lint-staged.config.mjspackages/blinkid-wasm/package.jsonpackages/blinkid-wasm/src/result/FieldType.tspackages/blinkid-wasm/src/result/classinfo/Country.tspackages/blinkid-wasm/src/result/classinfo/DocumentType.tspackages/blinkid-wasm/src/result/viz/VizResult.tspackages/blinkid-wasm/src/session/BlinkIdScanningResult.tspackages/blinkid-worker/CHANGELOG.mdpackages/blinkid-worker/package.jsonpackages/blinkid-worker/src/BlinkIdWorker.initBlinkId.test.tspackages/blinkid-worker/src/BlinkIdWorker.test.tspackages/blinkid-worker/src/BlinkIdWorker.tspackages/blinkid/CHANGELOG.mdpackages/blinkid/README.mdpackages/blinkid/docs/type-aliases/BlinkIdScanningResult.mdpackages/blinkid/docs/type-aliases/Country.mdpackages/blinkid/docs/type-aliases/DocumentType.mdpackages/blinkid/docs/type-aliases/FieldType.mdpackages/blinkid/docs/type-aliases/PingSdkInitStart.mdpackages/blinkid/docs/type-aliases/PingSdkInitStartData.mdpackages/blinkid/docs/type-aliases/VizResult.mdpackages/blinkid/package.jsonpackages/camera-manager/package.jsonpackages/core-common/lint-staged.config.mjspackages/feedback-stabilizer/lint-staged.config.mjspackages/shared-components/lint-staged.config.mjspackages/shared-components/package.jsonpackages/test-utils/lint-staged.config.mjspackages/ux-common/lint-staged.config.mjspackages/wasm-common/lint-staged.config.mjspackages/worker-common/lint-staged.config.mjspackages/worker-common/src/proxy-url-validator.test.tspackages/worker-common/src/proxy-url-validator.ts
💤 Files with no reviewable changes (5)
- packages/shared-components/package.json
- packages/blinkcard-wasm/package.json
- packages/blinkid-verify-wasm/package.json
- packages/analytics/package.json
- packages/camera-manager/package.json
| | err/1.0.2@microblink/main#c37bea8eb2a49b4f46fdd47f028d144d | Boost Software License | [Link](https://github.com/microblink/err) | err - yet another take on C++ error handling | | ||
| | functionoid/1.0.1@microblink/main#a63c389de8e94c11f18c62430bb3aa1f | Boost Software License, Version 1.0 | [Link](https://github.com/microblink/functionoid) | a complete C++17 rewrite of boost/std::function | | ||
| | gtest/1.14.9@microblink/main#92cbac29cb2870655027eb912cd72358 | BSD 3-Clause | [Link](https://bitbucket.org/microblink/core-google-test/src) | Google's C++ test framework | | ||
| | gtest/1.14.10@microblink/main#aeea6cc884a4400edf8084592f7b23ec | BSD 3-Clause | [Link](https://bitbucket.org/microblink/core-google-test/src) | Google's C++ test framework | |
There was a problem hiding this comment.
Use descriptive link text for the gtest URL.
Line 155 uses generic [Link], which triggers MD059 and reduces accessibility/readability in docs.
Suggested doc fix
-| gtest/1.14.10@microblink/main#aeea6cc884a4400edf8084592f7b23ec | BSD 3-Clause | [Link](https://bitbucket.org/microblink/core-google-test/src) | Google's C++ test framework |
+| gtest/1.14.10@microblink/main#aeea6cc884a4400edf8084592f7b23ec | BSD 3-Clause | [core-google-test](https://bitbucket.org/microblink/core-google-test/src) | Google's C++ test framework |📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| | gtest/1.14.10@microblink/main#aeea6cc884a4400edf8084592f7b23ec | BSD 3-Clause | [Link](https://bitbucket.org/microblink/core-google-test/src) | Google's C++ test framework | | |
| | gtest/1.14.10@microblink/main#aeea6cc884a4400edf8084592f7b23ec | BSD 3-Clause | [core-google-test](https://bitbucket.org/microblink/core-google-test/src) | Google's C++ test framework | |
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 155-155: Link text should be descriptive
(MD059, descriptive-link-text)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/blinkid/OssDependencies.md` at line 155, The table row referencing
"gtest/1.14.10@microblink/main#aeea6cc884a4400edf8084592f7b23ec" uses a generic
"[Link]" which triggers MD059; replace the generic link text with descriptive
text (e.g., "Google Test repository" or "gtest Bitbucket repo") so the markdown
becomes [Google Test
repository](https://bitbucket.org/microblink/core-google-test/src), keeping the
URL unchanged and preserving the existing table cell content and meaning.
|
|
||
| ### Minor Changes | ||
|
|
||
| - - **Results:** `BlinkIdScanningResult` and `VizResult` now expose optional `cardAccessNumber` (`StringResult`). |
There was a problem hiding this comment.
Fix malformed bullet marker in 7.8.0 notes.
Line 7 currently has - - **Results:**, which renders as an unintended nested marker. Use a single list marker.
Suggested fix
-- - **Results:** `BlinkIdScanningResult` and `VizResult` now expose optional `cardAccessNumber` (`StringResult`).
+- **Results:** `BlinkIdScanningResult` and `VizResult` now expose optional `cardAccessNumber` (`StringResult`).📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - - **Results:** `BlinkIdScanningResult` and `VizResult` now expose optional `cardAccessNumber` (`StringResult`). | |
| - **Results:** `BlinkIdScanningResult` and `VizResult` now expose optional `cardAccessNumber` (`StringResult`). |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@packages/blinkid-wasm/CHANGELOG.md` at line 7, Fix the malformed list marker
in the changelog entry by replacing the double marker "- - **Results:**" with a
single list marker "- **Results:**" so the line reads "- **Results:**
`BlinkIdScanningResult` and `VizResult` now expose optional `cardAccessNumber`
(`StringResult`). Update the line containing the "Results:" text (referenced by
`BlinkIdScanningResult` and `VizResult`) to remove the extra hyphen.
| it("returns baltazar false for offline license even with URL and allowBaltazarProxy", () => { | ||
| expect( | ||
| getMicroblinkProxyPingFlags("https://p.example", { | ||
| ...baseLicense, | ||
| allowBaltazarProxy: false, | ||
| }), | ||
| ).toEqual({ pingProxyEnabled: true, baltazarProxyEnabled: false }); | ||
| }); |
There was a problem hiding this comment.
Misleading test name — the asserted scenario is never actually exercised.
The description says "even with URL and allowBaltazarProxy" (implying allowBaltazarProxy: true), but the test overrides it to false. As a result, the intended invariant — that an offline license with allowBaltazarProxy: true still returns baltazarProxyEnabled: false — is never verified.
🛠️ Proposed fix — use baseLicense without the override
- it("returns baltazar false for offline license even with URL and allowBaltazarProxy", () => {
+ it("returns baltazar false for offline license even with URL and allowBaltazarProxy true", () => {
expect(
getMicroblinkProxyPingFlags("https://p.example", {
...baseLicense,
- allowBaltazarProxy: false,
+ // allowBaltazarProxy stays true (from baseLicense); offline license should still yield false
}),
).toEqual({ pingProxyEnabled: true, baltazarProxyEnabled: false });
});📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| it("returns baltazar false for offline license even with URL and allowBaltazarProxy", () => { | |
| expect( | |
| getMicroblinkProxyPingFlags("https://p.example", { | |
| ...baseLicense, | |
| allowBaltazarProxy: false, | |
| }), | |
| ).toEqual({ pingProxyEnabled: true, baltazarProxyEnabled: false }); | |
| }); | |
| it("returns baltazar false for offline license even with URL and allowBaltazarProxy true", () => { | |
| expect( | |
| getMicroblinkProxyPingFlags("https://p.example", { | |
| ...baseLicense, | |
| // allowBaltazarProxy stays true (from baseLicense); offline license should still yield false | |
| }), | |
| ).toEqual({ pingProxyEnabled: true, baltazarProxyEnabled: false }); | |
| }); |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@packages/worker-common/src/proxy-url-validator.test.ts` around lines 311 -
318, The test "returns baltazar false for offline license even with URL and
allowBaltazarProxy" currently overrides baseLicense with allowBaltazarProxy:
false so it never exercises the intended scenario; update the test that calls
getMicroblinkProxyPingFlags to use baseLicense without overriding
allowBaltazarProxy (or explicitly set allowBaltazarProxy: true) so the assertion
about baltazarProxyEnabled: false for an offline license with allowBaltazarProxy
true is actually verified; keep the expected result ({ pingProxyEnabled: true,
baltazarProxyEnabled: false }) and adjust only the license input used in that
it(...) block.
ee03050 to
03b49a8
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/blinkid-core/docs/type-aliases/Country.md`:
- Line 9: Fix the typo in the Country string literal by updating the generated
TypeScript source (packages/blinkid-wasm/src/result/classinfo/Country.ts) where
the Country type/array contains "saint-helena-ascension-and-tristian-da-cunha"
and change it to "saint-helena-ascension-and-tristan-da-cunha"; before changing,
confirm with the backend/WASM layer whether the misspelled value is emitted
there and coordinate a simultaneous update to avoid breaking consumers if the
backend currently returns the misspelled form.
In `@packages/blinkid-wasm/src/result/classinfo/Country.ts`:
- Around line 261-262: In the Country union in Country.ts remove the invalid
string literal "saint-thomas-and-prince" from the union type; locate the Country
type/union declaration and delete that duplicate/incorrect member (the valid São
Tomé and Príncipe entry "sao-tome-and-principe" already exists), then run type
checks to ensure no references expect the removed literal.
In `@packages/blinkid-worker/src/BlinkIdWorker.ts`:
- Around line 415-428: The ping flags are being computed from raw
settings.microblinkProxyUrl before proxy validation, causing false positives;
move the call to getMicroblinkProxyPingFlags so it runs after the proxy URL has
been accepted/sanitized by validateLicenseProxyPermissions/sanitizeProxyUrls and
after licenseUnlockResult is known, and pass the validated/sanitized proxy URL
(or the resulting proxy configuration) instead of the raw
settings.microblinkProxyUrl when building the data for reportPinglet (the
involved symbols: reportPinglet, getMicroblinkProxyPingFlags,
settings.microblinkProxyUrl, validateLicenseProxyPermissions, sanitizeProxyUrls,
licenseUnlockResult).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: f08142db-a5e6-466c-941a-abb2caffb322
⛔ Files ignored due to path filters (32)
packages/blinkcard-wasm/dist/advanced-threads/BlinkCardModule.jsis excluded by!**/dist/**packages/blinkcard-wasm/dist/advanced-threads/BlinkCardModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkcard-wasm/dist/advanced/BlinkCardModule.jsis excluded by!**/dist/**packages/blinkcard-wasm/dist/advanced/BlinkCardModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkcard-wasm/dist/basic/BlinkCardModule.jsis excluded by!**/dist/**packages/blinkcard-wasm/dist/basic/BlinkCardModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkcard-wasm/dist/size-manifest.jsonis excluded by!**/dist/**packages/blinkid-verify-wasm/dist/advanced-threads/BlinkIdVerifyModule.jsis excluded by!**/dist/**packages/blinkid-verify-wasm/dist/advanced-threads/BlinkIdVerifyModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-verify-wasm/dist/advanced/BlinkIdVerifyModule.jsis excluded by!**/dist/**packages/blinkid-verify-wasm/dist/advanced/BlinkIdVerifyModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-verify-wasm/dist/size-manifest.jsonis excluded by!**/dist/**packages/blinkid-wasm/dist/full/advanced-threads/BlinkIdModule.datais excluded by!**/dist/**packages/blinkid-wasm/dist/full/advanced-threads/BlinkIdModule.jsis excluded by!**/dist/**packages/blinkid-wasm/dist/full/advanced-threads/BlinkIdModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-wasm/dist/full/advanced/BlinkIdModule.datais excluded by!**/dist/**packages/blinkid-wasm/dist/full/advanced/BlinkIdModule.jsis excluded by!**/dist/**packages/blinkid-wasm/dist/full/advanced/BlinkIdModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-wasm/dist/full/basic/BlinkIdModule.datais excluded by!**/dist/**packages/blinkid-wasm/dist/full/basic/BlinkIdModule.jsis excluded by!**/dist/**packages/blinkid-wasm/dist/full/basic/BlinkIdModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-wasm/dist/lightweight/advanced-threads/BlinkIdModule.datais excluded by!**/dist/**packages/blinkid-wasm/dist/lightweight/advanced-threads/BlinkIdModule.jsis excluded by!**/dist/**packages/blinkid-wasm/dist/lightweight/advanced-threads/BlinkIdModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-wasm/dist/lightweight/advanced/BlinkIdModule.datais excluded by!**/dist/**packages/blinkid-wasm/dist/lightweight/advanced/BlinkIdModule.jsis excluded by!**/dist/**packages/blinkid-wasm/dist/lightweight/advanced/BlinkIdModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-wasm/dist/lightweight/basic/BlinkIdModule.datais excluded by!**/dist/**packages/blinkid-wasm/dist/lightweight/basic/BlinkIdModule.jsis excluded by!**/dist/**packages/blinkid-wasm/dist/lightweight/basic/BlinkIdModule.wasmis excluded by!**/dist/**,!**/*.wasmpackages/blinkid-wasm/dist/size-manifest.jsonis excluded by!**/dist/**pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (91)
docs/blinkid/OssDependencies.mddocs/blinkid/ResultFields.mddocs/blinkid/SupportedDocuments.mdpackage.jsonpackages/analytics/CHANGELOG.mdpackages/analytics/package.jsonpackages/analytics/src/ping/ping.sdk.init.start.tspackages/blinkcard-core/CHANGELOG.mdpackages/blinkcard-core/docs/type-aliases/PingSdkInitStart.mdpackages/blinkcard-core/docs/type-aliases/PingSdkInitStartData.mdpackages/blinkcard-core/package.jsonpackages/blinkcard-ux-manager/CHANGELOG.mdpackages/blinkcard-ux-manager/package.jsonpackages/blinkcard-wasm/CHANGELOG.mdpackages/blinkcard-wasm/lint-staged.config.mjspackages/blinkcard-wasm/package.jsonpackages/blinkcard-worker/CHANGELOG.mdpackages/blinkcard-worker/package.jsonpackages/blinkcard-worker/src/BlinkCardWorker.initBlinkCard.test.tspackages/blinkcard-worker/src/BlinkCardWorker.test.tspackages/blinkcard-worker/src/BlinkCardWorker.tspackages/blinkcard/CHANGELOG.mdpackages/blinkcard/docs/type-aliases/PingSdkInitStart.mdpackages/blinkcard/docs/type-aliases/PingSdkInitStartData.mdpackages/blinkcard/package.jsonpackages/blinkid-core/CHANGELOG.mdpackages/blinkid-core/docs/type-aliases/BlinkIdScanningResult.mdpackages/blinkid-core/docs/type-aliases/Country.mdpackages/blinkid-core/docs/type-aliases/DocumentType.mdpackages/blinkid-core/docs/type-aliases/FieldType.mdpackages/blinkid-core/docs/type-aliases/PingSdkInitStart.mdpackages/blinkid-core/docs/type-aliases/PingSdkInitStartData.mdpackages/blinkid-core/docs/type-aliases/VizResult.mdpackages/blinkid-core/package.jsonpackages/blinkid-ux-manager/CHANGELOG.mdpackages/blinkid-ux-manager/package.jsonpackages/blinkid-verify-core/CHANGELOG.mdpackages/blinkid-verify-core/docs/type-aliases/PingSdkInitStart.mdpackages/blinkid-verify-core/docs/type-aliases/PingSdkInitStartData.mdpackages/blinkid-verify-core/package.jsonpackages/blinkid-verify-ux-manager/CHANGELOG.mdpackages/blinkid-verify-ux-manager/package.jsonpackages/blinkid-verify-wasm/CHANGELOG.mdpackages/blinkid-verify-wasm/lint-staged.config.mjspackages/blinkid-verify-wasm/package.jsonpackages/blinkid-verify-worker/CHANGELOG.mdpackages/blinkid-verify-worker/package.jsonpackages/blinkid-verify-worker/src/BlinkIdVerifyWorker.tspackages/blinkid-verify/CHANGELOG.mdpackages/blinkid-verify/docs/type-aliases/PingSdkInitStart.mdpackages/blinkid-verify/docs/type-aliases/PingSdkInitStartData.mdpackages/blinkid-verify/package.jsonpackages/blinkid-wasm/CHANGELOG.mdpackages/blinkid-wasm/docs/type-aliases/BlinkIdScanningResult.mdpackages/blinkid-wasm/docs/type-aliases/Country.mdpackages/blinkid-wasm/docs/type-aliases/DocumentType.mdpackages/blinkid-wasm/docs/type-aliases/FieldType.mdpackages/blinkid-wasm/docs/type-aliases/VizResult.mdpackages/blinkid-wasm/lint-staged.config.mjspackages/blinkid-wasm/package.jsonpackages/blinkid-wasm/src/result/FieldType.tspackages/blinkid-wasm/src/result/classinfo/Country.tspackages/blinkid-wasm/src/result/classinfo/DocumentType.tspackages/blinkid-wasm/src/result/viz/VizResult.tspackages/blinkid-wasm/src/session/BlinkIdScanningResult.tspackages/blinkid-worker/CHANGELOG.mdpackages/blinkid-worker/package.jsonpackages/blinkid-worker/src/BlinkIdWorker.initBlinkId.test.tspackages/blinkid-worker/src/BlinkIdWorker.test.tspackages/blinkid-worker/src/BlinkIdWorker.tspackages/blinkid/CHANGELOG.mdpackages/blinkid/README.mdpackages/blinkid/docs/type-aliases/BlinkIdScanningResult.mdpackages/blinkid/docs/type-aliases/Country.mdpackages/blinkid/docs/type-aliases/DocumentType.mdpackages/blinkid/docs/type-aliases/FieldType.mdpackages/blinkid/docs/type-aliases/PingSdkInitStart.mdpackages/blinkid/docs/type-aliases/PingSdkInitStartData.mdpackages/blinkid/docs/type-aliases/VizResult.mdpackages/blinkid/package.jsonpackages/camera-manager/package.jsonpackages/core-common/lint-staged.config.mjspackages/feedback-stabilizer/lint-staged.config.mjspackages/shared-components/lint-staged.config.mjspackages/shared-components/package.jsonpackages/test-utils/lint-staged.config.mjspackages/ux-common/lint-staged.config.mjspackages/wasm-common/lint-staged.config.mjspackages/worker-common/lint-staged.config.mjspackages/worker-common/src/proxy-url-validator.test.tspackages/worker-common/src/proxy-url-validator.ts
💤 Files with no reviewable changes (2)
- packages/shared-components/package.json
- packages/camera-manager/package.json
✅ Files skipped from review due to trivial changes (14)
- packages/blinkcard-wasm/CHANGELOG.md
- packages/blinkid-verify/package.json
- packages/blinkid-verify/CHANGELOG.md
- packages/blinkid-verify-worker/package.json
- packages/blinkid-verify-wasm/CHANGELOG.md
- packages/analytics/CHANGELOG.md
- packages/blinkcard-core/package.json
- packages/blinkcard/CHANGELOG.md
- packages/blinkid-verify-worker/CHANGELOG.md
- packages/blinkcard-core/CHANGELOG.md
- packages/blinkid-worker/package.json
- packages/blinkcard-worker/package.json
- packages/blinkcard-worker/CHANGELOG.md
- packages/blinkid-verify-core/CHANGELOG.md
🚧 Files skipped from review as they are similar to previous changes (4)
- packages/blinkid/docs/type-aliases/PingSdkInitStart.md
- packages/blinkid-core/docs/type-aliases/BlinkIdScanningResult.md
- packages/blinkcard/docs/type-aliases/PingSdkInitStartData.md
- packages/blinkid-core/docs/type-aliases/FieldType.md
| # Type Alias: Country | ||
|
|
||
| > **Country** = `"albania"` \| `"algeria"` \| `"argentina"` \| `"australia"` \| `"austria"` \| `"azerbaijan"` \| `"bahrain"` \| `"bangladesh"` \| `"belgium"` \| `"bosnia-and-herzegovina"` \| `"brunei"` \| `"bulgaria"` \| `"cambodia"` \| `"canada"` \| `"chile"` \| `"colombia"` \| `"costa-rica"` \| `"croatia"` \| `"cyprus"` \| `"czechia"` \| `"denmark"` \| `"dominican-republic"` \| `"egypt"` \| `"estonia"` \| `"finland"` \| `"france"` \| `"georgia"` \| `"germany"` \| `"ghana"` \| `"greece"` \| `"guatemala"` \| `"hong-kong"` \| `"hungary"` \| `"india"` \| `"indonesia"` \| `"ireland"` \| `"israel"` \| `"italy"` \| `"jordan"` \| `"kazakhstan"` \| `"kenya"` \| `"kosovo"` \| `"kuwait"` \| `"latvia"` \| `"lithuania"` \| `"malaysia"` \| `"maldives"` \| `"malta"` \| `"mauritius"` \| `"mexico"` \| `"morocco"` \| `"netherlands"` \| `"new-zealand"` \| `"nigeria"` \| `"pakistan"` \| `"panama"` \| `"paraguay"` \| `"philippines"` \| `"poland"` \| `"portugal"` \| `"puerto-rico"` \| `"qatar"` \| `"romania"` \| `"russia"` \| `"saudi-arabia"` \| `"serbia"` \| `"singapore"` \| `"slovakia"` \| `"slovenia"` \| `"south-africa"` \| `"spain"` \| `"sweden"` \| `"switzerland"` \| `"taiwan"` \| `"thailand"` \| `"tunisia"` \| `"turkey"` \| `"uae"` \| `"uganda"` \| `"uk"` \| `"ukraine"` \| `"usa"` \| `"vietnam"` \| `"brazil"` \| `"norway"` \| `"oman"` \| `"ecuador"` \| `"el-salvador"` \| `"sri-lanka"` \| `"peru"` \| `"uruguay"` \| `"bahamas"` \| `"bermuda"` \| `"bolivia"` \| `"china"` \| `"european-union"` \| `"haiti"` \| `"honduras"` \| `"iceland"` \| `"japan"` \| `"luxembourg"` \| `"montenegro"` \| `"nicaragua"` \| `"south-korea"` \| `"venezuela"` \| `"afghanistan"` \| `"aland-islands"` \| `"american-samoa"` \| `"andorra"` \| `"angola"` \| `"anguilla"` \| `"antarctica"` \| `"antigua-and-barbuda"` \| `"armenia"` \| `"aruba"` \| `"bailiwick-of-guernsey"` \| `"bailiwick-of-jersey"` \| `"barbados"` \| `"belarus"` \| `"belize"` \| `"benin"` \| `"bhutan"` \| `"bonaire-saint-eustatius-and-saba"` \| `"botswana"` \| `"bouvet-island"` \| `"british-indian-ocean-territory"` \| `"burkina-faso"` \| `"burundi"` \| `"cameroon"` \| `"cape-verde"` \| `"caribbean-netherlands"` \| `"cayman-islands"` \| `"central-african-republic"` \| `"chad"` \| `"christmas-island"` \| `"cocos-islands"` \| `"comoros"` \| `"congo"` \| `"cook-islands"` \| `"cuba"` \| `"curacao"` \| `"democratic-republic-of-the-congo"` \| `"djibouti"` \| `"dominica"` \| `"east-timor"` \| `"equatorial-guinea"` \| `"eritrea"` \| `"ethiopia"` \| `"falkland-islands"` \| `"faroe-islands"` \| `"federated-states-of-micronesia"` \| `"fiji"` \| `"french-guiana"` \| `"french-polynesia"` \| `"french-southern-territories"` \| `"gabon"` \| `"gambia"` \| `"gibraltar"` \| `"greenland"` \| `"grenada"` \| `"guadeloupe"` \| `"guam"` \| `"guinea"` \| `"guinea-bissau"` \| `"guyana"` \| `"heard-island-and-mcdonald-islands"` \| `"iran"` \| `"iraq"` \| `"isle-of-man"` \| `"ivory-coast"` \| `"jamaica"` \| `"kiribati"` \| `"kyrgyzstan"` \| `"laos"` \| `"lebanon"` \| `"lesotho"` \| `"liberia"` \| `"libya"` \| `"liechtenstein"` \| `"macau"` \| `"madagascar"` \| `"malawi"` \| `"mali"` \| `"marshall-islands"` \| `"martinique"` \| `"mauritania"` \| `"mayotte"` \| `"moldova"` \| `"monaco"` \| `"mongolia"` \| `"montserrat"` \| `"mozambique"` \| `"myanmar"` \| `"namibia"` \| `"nauru"` \| `"nepal"` \| `"new-caledonia"` \| `"niger"` \| `"niue"` \| `"norfolk-island"` \| `"northern-cyprus"` \| `"northern-mariana-islands"` \| `"north-korea"` \| `"north-macedonia"` \| `"palau"` \| `"palestine"` \| `"papua-new-guinea"` \| `"pitcairn"` \| `"reunion"` \| `"rwanda"` \| `"saint-barthelemy"` \| `"saint-helena-ascension-and-tristian-da-cunha"` \| `"saint-kitts-and-nevis"` \| `"saint-lucia"` \| `"saint-martin"` \| `"saint-pierre-and-miquelon"` \| `"saint-vincent-and-the-grenadines"` \| `"samoa"` \| `"san-marino"` \| `"sao-tome-and-principe"` \| `"senegal"` \| `"seychelles"` \| `"sierra-leone"` \| `"sint-maarten"` \| `"solomon-islands"` \| `"somalia"` \| `"south-georgia-and-the-south-sandwich-islands"` \| `"south-sudan"` \| `"sudan"` \| `"suriname"` \| `"svalbard-and-jan-mayen"` \| `"eswatini"` \| `"syria"` \| `"tajikistan"` \| `"tanzania"` \| `"togo"` \| `"tokelau"` \| `"tonga"` \| `"trinidad-and-tobago"` \| `"turkmenistan"` \| `"turks-and-caicos-islands"` \| `"tuvalu"` \| `"united-states-minor-outlying-islands"` \| `"uzbekistan"` \| `"vanuatu"` \| `"vatican-city"` \| `"virgin-islands-british"` \| `"virgin-islands-us"` \| `"wallis-and-futuna"` \| `"western-sahara"` \| `"yemen"` \| `"yugoslavia"` \| `"zambia"` \| `"zimbabwe"` \| `"schengen-area"` \| `"saint-thomas-and-prince"` | ||
| > **Country** = `"albania"` \| `"algeria"` \| `"argentina"` \| `"australia"` \| `"austria"` \| `"azerbaijan"` \| `"bahrain"` \| `"bangladesh"` \| `"belgium"` \| `"bosnia-and-herzegovina"` \| `"brunei"` \| `"bulgaria"` \| `"cambodia"` \| `"canada"` \| `"chile"` \| `"colombia"` \| `"costa-rica"` \| `"croatia"` \| `"cyprus"` \| `"czechia"` \| `"denmark"` \| `"dominican-republic"` \| `"egypt"` \| `"estonia"` \| `"finland"` \| `"france"` \| `"georgia"` \| `"germany"` \| `"ghana"` \| `"greece"` \| `"guatemala"` \| `"hong-kong"` \| `"hungary"` \| `"india"` \| `"indonesia"` \| `"ireland"` \| `"israel"` \| `"italy"` \| `"jordan"` \| `"kazakhstan"` \| `"kenya"` \| `"kosovo"` \| `"kuwait"` \| `"latvia"` \| `"lithuania"` \| `"malaysia"` \| `"maldives"` \| `"malta"` \| `"mauritius"` \| `"mexico"` \| `"morocco"` \| `"netherlands"` \| `"new-zealand"` \| `"nigeria"` \| `"pakistan"` \| `"panama"` \| `"paraguay"` \| `"philippines"` \| `"poland"` \| `"portugal"` \| `"puerto-rico"` \| `"qatar"` \| `"romania"` \| `"russia"` \| `"saudi-arabia"` \| `"serbia"` \| `"singapore"` \| `"slovakia"` \| `"slovenia"` \| `"south-africa"` \| `"spain"` \| `"sweden"` \| `"switzerland"` \| `"taiwan"` \| `"thailand"` \| `"tunisia"` \| `"turkey"` \| `"uae"` \| `"uganda"` \| `"uk"` \| `"ukraine"` \| `"usa"` \| `"vietnam"` \| `"brazil"` \| `"norway"` \| `"oman"` \| `"ecuador"` \| `"el-salvador"` \| `"sri-lanka"` \| `"peru"` \| `"uruguay"` \| `"bahamas"` \| `"bermuda"` \| `"bolivia"` \| `"china"` \| `"european-union"` \| `"haiti"` \| `"honduras"` \| `"iceland"` \| `"japan"` \| `"luxembourg"` \| `"montenegro"` \| `"nicaragua"` \| `"south-korea"` \| `"venezuela"` \| `"afghanistan"` \| `"aland-islands"` \| `"american-samoa"` \| `"andorra"` \| `"angola"` \| `"anguilla"` \| `"antarctica"` \| `"antigua-and-barbuda"` \| `"armenia"` \| `"aruba"` \| `"bailiwick-of-guernsey"` \| `"bailiwick-of-jersey"` \| `"barbados"` \| `"belarus"` \| `"belize"` \| `"benin"` \| `"bhutan"` \| `"bonaire-saint-eustatius-and-saba"` \| `"botswana"` \| `"bouvet-island"` \| `"british-indian-ocean-territory"` \| `"burkina-faso"` \| `"burundi"` \| `"cameroon"` \| `"cape-verde"` \| `"caribbean-netherlands"` \| `"cayman-islands"` \| `"central-african-republic"` \| `"chad"` \| `"christmas-island"` \| `"cocos-islands"` \| `"comoros"` \| `"congo"` \| `"cook-islands"` \| `"cuba"` \| `"curacao"` \| `"democratic-republic-of-the-congo"` \| `"djibouti"` \| `"dominica"` \| `"east-timor"` \| `"equatorial-guinea"` \| `"eritrea"` \| `"ethiopia"` \| `"falkland-islands"` \| `"faroe-islands"` \| `"federated-states-of-micronesia"` \| `"fiji"` \| `"french-guiana"` \| `"french-polynesia"` \| `"french-southern-territories"` \| `"gabon"` \| `"gambia"` \| `"gibraltar"` \| `"greenland"` \| `"grenada"` \| `"guadeloupe"` \| `"guam"` \| `"guinea"` \| `"guinea-bissau"` \| `"guyana"` \| `"heard-island-and-mcdonald-islands"` \| `"iran"` \| `"iraq"` \| `"isle-of-man"` \| `"ivory-coast"` \| `"jamaica"` \| `"kiribati"` \| `"kyrgyzstan"` \| `"laos"` \| `"lebanon"` \| `"lesotho"` \| `"liberia"` \| `"libya"` \| `"liechtenstein"` \| `"macau"` \| `"madagascar"` \| `"malawi"` \| `"mali"` \| `"marshall-islands"` \| `"martinique"` \| `"mauritania"` \| `"mayotte"` \| `"moldova"` \| `"monaco"` \| `"mongolia"` \| `"montserrat"` \| `"mozambique"` \| `"myanmar"` \| `"namibia"` \| `"nauru"` \| `"nepal"` \| `"new-caledonia"` \| `"niger"` \| `"niue"` \| `"norfolk-island"` \| `"northern-cyprus"` \| `"northern-mariana-islands"` \| `"north-korea"` \| `"north-macedonia"` \| `"palau"` \| `"palestine"` \| `"papua-new-guinea"` \| `"pitcairn"` \| `"reunion"` \| `"rwanda"` \| `"saint-barthelemy"` \| `"saint-helena-ascension-and-tristian-da-cunha"` \| `"saint-kitts-and-nevis"` \| `"saint-lucia"` \| `"saint-martin"` \| `"saint-pierre-and-miquelon"` \| `"saint-vincent-and-the-grenadines"` \| `"samoa"` \| `"san-marino"` \| `"sao-tome-and-principe"` \| `"senegal"` \| `"seychelles"` \| `"sierra-leone"` \| `"sint-maarten"` \| `"solomon-islands"` \| `"somalia"` \| `"south-georgia-and-the-south-sandwich-islands"` \| `"south-sudan"` \| `"sudan"` \| `"suriname"` \| `"svalbard-and-jan-mayen"` \| `"eswatini"` \| `"syria"` \| `"tajikistan"` \| `"tanzania"` \| `"togo"` \| `"tokelau"` \| `"tonga"` \| `"trinidad-and-tobago"` \| `"turkmenistan"` \| `"turks-and-caicos-islands"` \| `"tuvalu"` \| `"united-states-minor-outlying-islands"` \| `"uzbekistan"` \| `"vanuatu"` \| `"vatican-city"` \| `"virgin-islands-british"` \| `"wallis-and-futuna"` \| `"western-sahara"` \| `"yemen"` \| `"yugoslavia"` \| `"zambia"` \| `"zimbabwe"` \| `"schengen-area"` \| `"saint-thomas-and-prince"` \| `"virgin-islands-of-the-united-states"` |
There was a problem hiding this comment.
Typo in string literal: "saint-helena-ascension-and-tristian-da-cunha" → "tristan"
The island territory is spelled "Tristan da Cunha" (not "Tristian"). Since this is an auto-generated doc, the fix must be made in the TypeScript source file (packages/blinkid-wasm/src/result/classinfo/Country.ts). Coordinate with the backend/WASM layer first — if the backend consistently returns the misspelled form, this is a breaking change and both sides must move together.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@packages/blinkid-core/docs/type-aliases/Country.md` at line 9, Fix the typo
in the Country string literal by updating the generated TypeScript source
(packages/blinkid-wasm/src/result/classinfo/Country.ts) where the Country
type/array contains "saint-helena-ascension-and-tristian-da-cunha" and change it
to "saint-helena-ascension-and-tristan-da-cunha"; before changing, confirm with
the backend/WASM layer whether the misspelled value is emitted there and
coordinate a simultaneous update to avoid breaking consumers if the backend
currently returns the misspelled form.
There was a problem hiding this comment.
Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!
| | "saint-thomas-and-prince" | ||
| | "virgin-islands-of-the-united-states"; |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify all occurrences of both literals across code/docs for consistency.
rg -n --type=ts --type=md '"sao-tome-and-principe"|"saint-thomas-and-prince"'Repository: microblink/web-sdks
Length of output: 14341
🏁 Script executed:
#!/bin/bash
# Read the Country.ts file around the relevant lines to understand context
cat -n packages/blinkid-wasm/src/result/classinfo/Country.ts | sed -n '215,270p'Repository: microblink/web-sdks
Length of output: 1425
🏁 Script executed:
#!/bin/bash
# Check if "saint-thomas-and-prince" is referenced anywhere else in code or mapping logic
rg -i "saint.thomas.and.prince" --type=ts --type=js --type=jsonRepository: microblink/web-sdks
Length of output: 147
🏁 Script executed:
#!/bin/bash
# Check git history or comments near these entries to understand intent
git log --oneline -p packages/blinkid-wasm/src/result/classinfo/Country.ts | grep -A5 -B5 "saint-thomas-and-prince" | head -30Repository: microblink/web-sdks
Length of output: 149
🏁 Script executed:
#!/bin/bash
# Search for any mapping files or constants that might explain the country aliases
rg -i "thomas" --type=ts --type=js -B2 -A2Repository: microblink/web-sdks
Length of output: 387
Remove the invalid country literal "saint-thomas-and-prince" (line 261).
"saint-thomas-and-prince" is not a valid country—Saint Thomas is part of the US Virgin Islands. The correct entry for São Tomé and Príncipe is "sao-tome-and-principe" (line 226), which already exists. This duplicate literal should be removed to prevent confusion.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@packages/blinkid-wasm/src/result/classinfo/Country.ts` around lines 261 -
262, In the Country union in Country.ts remove the invalid string literal
"saint-thomas-and-prince" from the union type; locate the Country type/union
declaration and delete that duplicate/incorrect member (the valid São Tomé and
Príncipe entry "sao-tome-and-principe" already exists), then run type checks to
ensure no references expect the removed literal.
| this.reportPinglet({ | ||
| schemaName: "ping.sdk.init.start", | ||
| schemaVersion: "1.2.0", | ||
| schemaVersion: "1.3.0", | ||
| sessionNumber: 0, | ||
| data: { | ||
| packageName: self.location.hostname, | ||
| platform: "Emscripten", | ||
| platformDetails: `${featureVariant}-${wasmVariant}`, | ||
| product: "BlinkID", | ||
| userId: this.#userId, | ||
| ...getMicroblinkProxyPingFlags( | ||
| settings.microblinkProxyUrl, | ||
| licenseUnlockResult, | ||
| ), |
There was a problem hiding this comment.
Compute proxy flags after the proxy URL has been accepted.
These booleans are derived from the raw settings.microblinkProxyUrl before validateLicenseProxyPermissions / sanitizeProxyUrls run. A malformed non-empty URL will therefore be reported as ...Enabled: true even though init fails and no proxy is actually configured. Please base these flags on the validated proxy setup instead.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@packages/blinkid-worker/src/BlinkIdWorker.ts` around lines 415 - 428, The
ping flags are being computed from raw settings.microblinkProxyUrl before proxy
validation, causing false positives; move the call to
getMicroblinkProxyPingFlags so it runs after the proxy URL has been
accepted/sanitized by validateLicenseProxyPermissions/sanitizeProxyUrls and
after licenseUnlockResult is known, and pass the validated/sanitized proxy URL
(or the resulting proxy configuration) instead of the raw
settings.microblinkProxyUrl when building the data for reportPinglet (the
involved symbols: reportPinglet, getMicroblinkProxyPingFlags,
settings.microblinkProxyUrl, validateLicenseProxyPermissions, sanitizeProxyUrls,
licenseUnlockResult).
| # Type Alias: Country | ||
|
|
||
| > **Country** = `"albania"` \| `"algeria"` \| `"argentina"` \| `"australia"` \| `"austria"` \| `"azerbaijan"` \| `"bahrain"` \| `"bangladesh"` \| `"belgium"` \| `"bosnia-and-herzegovina"` \| `"brunei"` \| `"bulgaria"` \| `"cambodia"` \| `"canada"` \| `"chile"` \| `"colombia"` \| `"costa-rica"` \| `"croatia"` \| `"cyprus"` \| `"czechia"` \| `"denmark"` \| `"dominican-republic"` \| `"egypt"` \| `"estonia"` \| `"finland"` \| `"france"` \| `"georgia"` \| `"germany"` \| `"ghana"` \| `"greece"` \| `"guatemala"` \| `"hong-kong"` \| `"hungary"` \| `"india"` \| `"indonesia"` \| `"ireland"` \| `"israel"` \| `"italy"` \| `"jordan"` \| `"kazakhstan"` \| `"kenya"` \| `"kosovo"` \| `"kuwait"` \| `"latvia"` \| `"lithuania"` \| `"malaysia"` \| `"maldives"` \| `"malta"` \| `"mauritius"` \| `"mexico"` \| `"morocco"` \| `"netherlands"` \| `"new-zealand"` \| `"nigeria"` \| `"pakistan"` \| `"panama"` \| `"paraguay"` \| `"philippines"` \| `"poland"` \| `"portugal"` \| `"puerto-rico"` \| `"qatar"` \| `"romania"` \| `"russia"` \| `"saudi-arabia"` \| `"serbia"` \| `"singapore"` \| `"slovakia"` \| `"slovenia"` \| `"south-africa"` \| `"spain"` \| `"sweden"` \| `"switzerland"` \| `"taiwan"` \| `"thailand"` \| `"tunisia"` \| `"turkey"` \| `"uae"` \| `"uganda"` \| `"uk"` \| `"ukraine"` \| `"usa"` \| `"vietnam"` \| `"brazil"` \| `"norway"` \| `"oman"` \| `"ecuador"` \| `"el-salvador"` \| `"sri-lanka"` \| `"peru"` \| `"uruguay"` \| `"bahamas"` \| `"bermuda"` \| `"bolivia"` \| `"china"` \| `"european-union"` \| `"haiti"` \| `"honduras"` \| `"iceland"` \| `"japan"` \| `"luxembourg"` \| `"montenegro"` \| `"nicaragua"` \| `"south-korea"` \| `"venezuela"` \| `"afghanistan"` \| `"aland-islands"` \| `"american-samoa"` \| `"andorra"` \| `"angola"` \| `"anguilla"` \| `"antarctica"` \| `"antigua-and-barbuda"` \| `"armenia"` \| `"aruba"` \| `"bailiwick-of-guernsey"` \| `"bailiwick-of-jersey"` \| `"barbados"` \| `"belarus"` \| `"belize"` \| `"benin"` \| `"bhutan"` \| `"bonaire-saint-eustatius-and-saba"` \| `"botswana"` \| `"bouvet-island"` \| `"british-indian-ocean-territory"` \| `"burkina-faso"` \| `"burundi"` \| `"cameroon"` \| `"cape-verde"` \| `"caribbean-netherlands"` \| `"cayman-islands"` \| `"central-african-republic"` \| `"chad"` \| `"christmas-island"` \| `"cocos-islands"` \| `"comoros"` \| `"congo"` \| `"cook-islands"` \| `"cuba"` \| `"curacao"` \| `"democratic-republic-of-the-congo"` \| `"djibouti"` \| `"dominica"` \| `"east-timor"` \| `"equatorial-guinea"` \| `"eritrea"` \| `"ethiopia"` \| `"falkland-islands"` \| `"faroe-islands"` \| `"federated-states-of-micronesia"` \| `"fiji"` \| `"french-guiana"` \| `"french-polynesia"` \| `"french-southern-territories"` \| `"gabon"` \| `"gambia"` \| `"gibraltar"` \| `"greenland"` \| `"grenada"` \| `"guadeloupe"` \| `"guam"` \| `"guinea"` \| `"guinea-bissau"` \| `"guyana"` \| `"heard-island-and-mcdonald-islands"` \| `"iran"` \| `"iraq"` \| `"isle-of-man"` \| `"ivory-coast"` \| `"jamaica"` \| `"kiribati"` \| `"kyrgyzstan"` \| `"laos"` \| `"lebanon"` \| `"lesotho"` \| `"liberia"` \| `"libya"` \| `"liechtenstein"` \| `"macau"` \| `"madagascar"` \| `"malawi"` \| `"mali"` \| `"marshall-islands"` \| `"martinique"` \| `"mauritania"` \| `"mayotte"` \| `"moldova"` \| `"monaco"` \| `"mongolia"` \| `"montserrat"` \| `"mozambique"` \| `"myanmar"` \| `"namibia"` \| `"nauru"` \| `"nepal"` \| `"new-caledonia"` \| `"niger"` \| `"niue"` \| `"norfolk-island"` \| `"northern-cyprus"` \| `"northern-mariana-islands"` \| `"north-korea"` \| `"north-macedonia"` \| `"palau"` \| `"palestine"` \| `"papua-new-guinea"` \| `"pitcairn"` \| `"reunion"` \| `"rwanda"` \| `"saint-barthelemy"` \| `"saint-helena-ascension-and-tristian-da-cunha"` \| `"saint-kitts-and-nevis"` \| `"saint-lucia"` \| `"saint-martin"` \| `"saint-pierre-and-miquelon"` \| `"saint-vincent-and-the-grenadines"` \| `"samoa"` \| `"san-marino"` \| `"sao-tome-and-principe"` \| `"senegal"` \| `"seychelles"` \| `"sierra-leone"` \| `"sint-maarten"` \| `"solomon-islands"` \| `"somalia"` \| `"south-georgia-and-the-south-sandwich-islands"` \| `"south-sudan"` \| `"sudan"` \| `"suriname"` \| `"svalbard-and-jan-mayen"` \| `"eswatini"` \| `"syria"` \| `"tajikistan"` \| `"tanzania"` \| `"togo"` \| `"tokelau"` \| `"tonga"` \| `"trinidad-and-tobago"` \| `"turkmenistan"` \| `"turks-and-caicos-islands"` \| `"tuvalu"` \| `"united-states-minor-outlying-islands"` \| `"uzbekistan"` \| `"vanuatu"` \| `"vatican-city"` \| `"virgin-islands-british"` \| `"virgin-islands-us"` \| `"wallis-and-futuna"` \| `"western-sahara"` \| `"yemen"` \| `"yugoslavia"` \| `"zambia"` \| `"zimbabwe"` \| `"schengen-area"` \| `"saint-thomas-and-prince"` | ||
| > **Country** = `"albania"` \| `"algeria"` \| `"argentina"` \| `"australia"` \| `"austria"` \| `"azerbaijan"` \| `"bahrain"` \| `"bangladesh"` \| `"belgium"` \| `"bosnia-and-herzegovina"` \| `"brunei"` \| `"bulgaria"` \| `"cambodia"` \| `"canada"` \| `"chile"` \| `"colombia"` \| `"costa-rica"` \| `"croatia"` \| `"cyprus"` \| `"czechia"` \| `"denmark"` \| `"dominican-republic"` \| `"egypt"` \| `"estonia"` \| `"finland"` \| `"france"` \| `"georgia"` \| `"germany"` \| `"ghana"` \| `"greece"` \| `"guatemala"` \| `"hong-kong"` \| `"hungary"` \| `"india"` \| `"indonesia"` \| `"ireland"` \| `"israel"` \| `"italy"` \| `"jordan"` \| `"kazakhstan"` \| `"kenya"` \| `"kosovo"` \| `"kuwait"` \| `"latvia"` \| `"lithuania"` \| `"malaysia"` \| `"maldives"` \| `"malta"` \| `"mauritius"` \| `"mexico"` \| `"morocco"` \| `"netherlands"` \| `"new-zealand"` \| `"nigeria"` \| `"pakistan"` \| `"panama"` \| `"paraguay"` \| `"philippines"` \| `"poland"` \| `"portugal"` \| `"puerto-rico"` \| `"qatar"` \| `"romania"` \| `"russia"` \| `"saudi-arabia"` \| `"serbia"` \| `"singapore"` \| `"slovakia"` \| `"slovenia"` \| `"south-africa"` \| `"spain"` \| `"sweden"` \| `"switzerland"` \| `"taiwan"` \| `"thailand"` \| `"tunisia"` \| `"turkey"` \| `"uae"` \| `"uganda"` \| `"uk"` \| `"ukraine"` \| `"usa"` \| `"vietnam"` \| `"brazil"` \| `"norway"` \| `"oman"` \| `"ecuador"` \| `"el-salvador"` \| `"sri-lanka"` \| `"peru"` \| `"uruguay"` \| `"bahamas"` \| `"bermuda"` \| `"bolivia"` \| `"china"` \| `"european-union"` \| `"haiti"` \| `"honduras"` \| `"iceland"` \| `"japan"` \| `"luxembourg"` \| `"montenegro"` \| `"nicaragua"` \| `"south-korea"` \| `"venezuela"` \| `"afghanistan"` \| `"aland-islands"` \| `"american-samoa"` \| `"andorra"` \| `"angola"` \| `"anguilla"` \| `"antarctica"` \| `"antigua-and-barbuda"` \| `"armenia"` \| `"aruba"` \| `"bailiwick-of-guernsey"` \| `"bailiwick-of-jersey"` \| `"barbados"` \| `"belarus"` \| `"belize"` \| `"benin"` \| `"bhutan"` \| `"bonaire-saint-eustatius-and-saba"` \| `"botswana"` \| `"bouvet-island"` \| `"british-indian-ocean-territory"` \| `"burkina-faso"` \| `"burundi"` \| `"cameroon"` \| `"cape-verde"` \| `"caribbean-netherlands"` \| `"cayman-islands"` \| `"central-african-republic"` \| `"chad"` \| `"christmas-island"` \| `"cocos-islands"` \| `"comoros"` \| `"congo"` \| `"cook-islands"` \| `"cuba"` \| `"curacao"` \| `"democratic-republic-of-the-congo"` \| `"djibouti"` \| `"dominica"` \| `"east-timor"` \| `"equatorial-guinea"` \| `"eritrea"` \| `"ethiopia"` \| `"falkland-islands"` \| `"faroe-islands"` \| `"federated-states-of-micronesia"` \| `"fiji"` \| `"french-guiana"` \| `"french-polynesia"` \| `"french-southern-territories"` \| `"gabon"` \| `"gambia"` \| `"gibraltar"` \| `"greenland"` \| `"grenada"` \| `"guadeloupe"` \| `"guam"` \| `"guinea"` \| `"guinea-bissau"` \| `"guyana"` \| `"heard-island-and-mcdonald-islands"` \| `"iran"` \| `"iraq"` \| `"isle-of-man"` \| `"ivory-coast"` \| `"jamaica"` \| `"kiribati"` \| `"kyrgyzstan"` \| `"laos"` \| `"lebanon"` \| `"lesotho"` \| `"liberia"` \| `"libya"` \| `"liechtenstein"` \| `"macau"` \| `"madagascar"` \| `"malawi"` \| `"mali"` \| `"marshall-islands"` \| `"martinique"` \| `"mauritania"` \| `"mayotte"` \| `"moldova"` \| `"monaco"` \| `"mongolia"` \| `"montserrat"` \| `"mozambique"` \| `"myanmar"` \| `"namibia"` \| `"nauru"` \| `"nepal"` \| `"new-caledonia"` \| `"niger"` \| `"niue"` \| `"norfolk-island"` \| `"northern-cyprus"` \| `"northern-mariana-islands"` \| `"north-korea"` \| `"north-macedonia"` \| `"palau"` \| `"palestine"` \| `"papua-new-guinea"` \| `"pitcairn"` \| `"reunion"` \| `"rwanda"` \| `"saint-barthelemy"` \| `"saint-helena-ascension-and-tristian-da-cunha"` \| `"saint-kitts-and-nevis"` \| `"saint-lucia"` \| `"saint-martin"` \| `"saint-pierre-and-miquelon"` \| `"saint-vincent-and-the-grenadines"` \| `"samoa"` \| `"san-marino"` \| `"sao-tome-and-principe"` \| `"senegal"` \| `"seychelles"` \| `"sierra-leone"` \| `"sint-maarten"` \| `"solomon-islands"` \| `"somalia"` \| `"south-georgia-and-the-south-sandwich-islands"` \| `"south-sudan"` \| `"sudan"` \| `"suriname"` \| `"svalbard-and-jan-mayen"` \| `"eswatini"` \| `"syria"` \| `"tajikistan"` \| `"tanzania"` \| `"togo"` \| `"tokelau"` \| `"tonga"` \| `"trinidad-and-tobago"` \| `"turkmenistan"` \| `"turks-and-caicos-islands"` \| `"tuvalu"` \| `"united-states-minor-outlying-islands"` \| `"uzbekistan"` \| `"vanuatu"` \| `"vatican-city"` \| `"virgin-islands-british"` \| `"wallis-and-futuna"` \| `"western-sahara"` \| `"yemen"` \| `"yugoslavia"` \| `"zambia"` \| `"zimbabwe"` \| `"schengen-area"` \| `"saint-thomas-and-prince"` \| `"virgin-islands-of-the-united-states"` |
Summary by CodeRabbit
New Features
Chores