SIGN IN SIGN UP

fix(rn_cli_wallet): suppress false NFC toast on cancel (#439)

* feat(rn_cli_wallet): add NFC tap-to-pay support for iOS and Android

Add NFC reader integration with foreground dispatch on Android for seamless
tag detection while app is visible. iOS uses native CoreNFC with universal
links. Add NFC button to header on iOS, Android App Links configuration, and
iOS App Site Association for deep linking from NFC tags.

- Add react-native-nfc-manager dependency
- Implement useNfc hook with foreground dispatch for Android
- Add NFC icon (NfcTap.tsx) with customizable fill color
- Add NFC button to Header on iOS (hidden on Android due to foreground dispatch)
- Update Android manifest with NFC permissions, app links, and autoVerify
- Update iOS entitlements with NDEF reading and universal links
- Bump Android versionCode to 60
- Add logging for debugging NFC scan events

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

* fix(rn_cli_wallet): address NFC PR review feedback

- Validate NFC URIs against allowlist before handling
- Parse payment link URLs strictly instead of substring match
- Fix foreground dispatch: deduplicate start(), add tag debounce,
  share registration flag across hooks, remove stale unregisterTagEvent
- Move autoVerify to a separate VIEW intent filter (not NDEF_DISCOVERED)
- Revert accidental xcscheme version downgrade
- Fix bytesToString stack overflow on large payloads

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix(rn_cli_wallet): remove NDEF from NFC entitlements for Xcode 26 compatibility

Xcode 26 / SDK 26.2 rejects NDEF in readersession.formats. TAG alone
is sufficient for CoreNFC NDEF reading on newer SDKs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Saving uncommitted changes before archiving

* fix(rn_cli_wallet): suppress false "No data found" toast on NFC cancel

Distinguish NFC session cancellation from actual empty-tag reads so
closing and re-opening the NFC sheet no longer shows a misleading
"No data found on NFC tag" toast. Also adds a session nonce to guard
against stale SessionClosed events firing into a new scan session.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
Co-authored-by: Conductor <conductor@noreply>
I
Ignacio Santise committed
bff38994e540dddfb7a4e3d051a746bf80d882a0
Parent: a66c9fc
Committed by GitHub <noreply@github.com> on 3/25/2026, 6:34:58 PM