Skip to content

Feat/faster ur scans - #592

Draft
n13 wants to merge 9 commits into
mainfrom
feat/faster_ur_scans
Draft

Feat/faster ur scans#592
n13 wants to merge 9 commits into
mainfrom
feat/faster_ur_scans

Conversation

@n13

@n13 n13 commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Configurable frame rate and QR size in moving QR codes

in conjunction with changes to quantus_ur

@n13
n13 marked this pull request as draft August 2, 2026 07:22
n13 added 6 commits August 4, 2026 13:18
- Restrict all MobileScannerController instances to BarcodeFormat.qrCode;
  skipping the other symbologies shortens per-frame detection in ML
  Kit/Vision, so unrestricted mode keeps up with a 10 fps animated QR.
- Outbound transaction QR (keystone_sign_screen): 200 -> 1000 bytes per
  fragment and 200 -> 100 ms per frame. Both ends are phone cameras, so a
  typical transaction now fits a single static QR (near-instant scan) and
  larger payloads cycle twice as fast.

The 250 ms detection throttle that dominated scan time was already removed
in this branch via DetectionSpeed.unrestricted; these changes remove the
remaining per-frame and display-side bottlenecks.
The Keystone device scans the outgoing transaction from the mobile wallet,
so the 200 byte / 200 ms frames must stay. Only the cold-wallet response QR
(scanned by our own app) gets dense, fast frames.
SCALE-encoded transactions are ~300 bytes, so 400-byte fragments make the
common case one static frame (~QR version 21, still easy for Keystone
hardware) instead of two animated frames at 200 ms each.
Drops the local path override now that the configurable-fragment-length
work is released.
Main landed the Keystone redesign (#591/#594) in a newer form, so the
add/add and screen conflicts resolve to main's versions (theme
conventions, invalidateAccountProviders, underline button variant,
simplified connect steps + matching l10n cleanup). Re-applied on top:

- animated_qr_scanner: DetectionSpeed.unrestricted + QR-only formats
- keystone_sign_screen: 400-byte fragments via encodeUr maxFragmentLength

Regenerated app_localizations from the merged .arb files.
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