status-im / status-mobile

a free (libre) open source, mobile OS for Ethereum
https://status.app
Mozilla Public License 2.0
3.91k stars 984 forks source link

[iOS] "Oops, this is not a Keycard" screen appears if user didn't scan his card properly #21669

Open mariia-skrypnyk opened 6 days ago

mariia-skrypnyk commented 6 days ago

Bug Report

https://github.com/status-im/status-mobile/pull/21623

Problem

Scanning during the final step before redirecting to the app takes longer (3-5 seconds) compared to the initial step of the Sign up with Keycard flow.

This delay causes an issue where users, assuming the scanning process has frozen, may lose patience and move or remove their card prematurely during the scanning process. In case such situation occurs we have an issue described below.

Reproduction

  1. Factory reset keycard or use empty one.
  2. Open Status > Create profile > Use Keycard
  3. In the Create profile on empty Keycard screen, press Scan Keycard
  4. In the Keycard is empty screen, press Let's go! to create a new profile.
  5. Backup recovery phrase and continue.
  6. Create pin
  7. In the Ready to add key pair to Keycard screen, pressReady to Scan
  8. Do not wait till the card is scanned and take it away after 1 sec of scanning
  9. Scan card once more

Expected behavior

User can use Ready to Scan option and scan his card successfully

Actual behavior

  1. User sees "Oops, this isn`t a Keycard" screen
  2. User shouldn't remove his PIN in case he somehow returns to the PIN screen, PIN should be empty.

https://github.com/user-attachments/assets/ce6a3552-61c6-418c-89d9-642103cd1f24

Additional Information

flexsurfer commented 2 days ago

when (= error "NFCError:102") happens, nfc sheet continue to work wrong on iphone, it's not possible to reconnect card, and there is no keyCardOnDisconnected from keycard library

flexsurfer commented 2 days ago

@bitgamma you can see it on the video, it says "Connected" even when card was removed