Skip to content

fix(eid-wallet): bump barcode-scanner to 2.4.5 to fix iOS cancel crash#977

Merged
coodos merged 1 commit into
mainfrom
fix/ios-barcode-cancel-crash
May 28, 2026
Merged

fix(eid-wallet): bump barcode-scanner to 2.4.5 to fix iOS cancel crash#977
coodos merged 1 commit into
mainfrom
fix/ios-barcode-cancel-crash

Conversation

@coodos

@coodos coodos commented May 28, 2026

Copy link
Copy Markdown
Contributor

Fixes the constant iOS crash when the QR/barcode scanner is closed or cancelled.

Root cause: in tauri-plugin-barcode-scanner 2.4.4 the native cancel() handler calls destroy() -> dismantleCamera() -> cameraView.removeFromSuperview() directly on Tauri's background dispatch queue. That is a UIKit call off the main thread, so iOS aborts with SIGABRT (NSAssertionHandler). scan() and the other handlers already wrap their UIKit work in DispatchQueue.main.async; cancel() in 2.4.4 did not. Android is unaffected (no equivalent main-thread assertion).

Fix: upstream 2.4.5 wraps the whole cancel() body in DispatchQueue.main.async (tauri-apps/plugins-workspace#3393). Verified against the 2.4.5 source. Cargo.toml already allows it (= "2"), so this is a lockfile-only bump 2.4.4 -> 2.4.5. The iOS Swift is compiled from the vendored crate, so no Cargo.toml or JS change is needed.

Requires an iOS rebuild and a new TestFlight build to ship.

@coderabbitai

coderabbitai Bot commented May 28, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • infrastructure/eid-wallet/src-tauri/Cargo.lock is excluded by !**/*.lock

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 206a465c-ff23-432a-a0b1-5ce41a921ce4

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/ios-barcode-cancel-crash

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coodos coodos merged commit 48c43d5 into main May 28, 2026
4 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