Skip to content

Feat/mobile scanner migration - #3591

Merged
hawkbee1 merged 6 commits into
mainfrom
feat/mobile-scanner-migration
Nov 9, 2026
Merged

hawkbee1 merged 6 commits into
mainfrom
feat/mobile-scanner-migration

Conversation

@hawkbee1

@hawkbee1 hawkbee1 commented Nov 9, 2026

Copy link
Copy Markdown
Collaborator

Description

Type of Change

  • ✨ New feature (non-breaking change which adds functionality)
  • 🛠️ Bug fix (non-breaking change which fixes an issue)
  • ❌ Breaking change (fix or feature that would cause existing functionality to change)
  • 🧹 Code refactor
  • ✅ Build configuration change
  • 📝 Documentation
  • 🗑️ Chore

The Yoti AI selfie age verification is no longer used. Remove its pages,
camera cubit, models and assets, the HomeCubit calls to the Yoti
endpoints, the AI validation URLs and the strings only it used.

Discover now sends every age card (Over 13 to 65, age range) to the
ID360 KYC flow, the other option of the removed method chooser; enterprise
profiles still open the issuer link.

Also drop the image and flutter_image_compress dependencies, used only by
this feature, and describe the camera permission as QR code scanning on
iOS.
The scanner fed every camera frame from the camera plugin to ML Kit
through Dart, without waiting for the previous frame: on Android this
churned hundreds of MB of frame buffers per second, and a camera disposed
while still starting was never released. Users saw a grey preview for a
while when opening the scanner.

Replace QrCameraView with QrScannerView, built on mobile_scanner 7.5.0
(CameraX on Android, Vision on iOS). Frames stay native, the widget starts
and releases the camera with the page and the app lifecycle, and only the
first QR code inside the darkened scan window is handed over. The Scan tab
and QrScannerPage both use it. A denied camera permission now shows a
message with Open settings and Try again instead of an empty view.

Drop the camera, google_mlkit_barcode_scanning and google_mlkit_commons
dependencies, and the first-frame skip workaround for stale frames of the
camera plugin.
These cards are no longer offered. Remove the Over 13, 15, 18 (all
formats), 21, 50 and 65, DeFi compliance and liveness (Humanity) cards
from Discover, the KYC routing only they used, the checkForAIKYC getter
and the supportDefiCompliance parameter.

Credentials of these types that users already hold still display, and
the discoverCardsOptions profile fields stay in the configuration model.
These cards are no longer offered either. Discover now sends only the
ID card to the ID360 KYC flow.

Credentials of these types that users already hold still display, and
the discoverCardsOptions profile fields stay in the configuration model.

@hawkbee1 hawkbee1 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok

@hawkbee1
hawkbee1 merged commit 3413e9b into main Nov 9, 2026
0 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant