bcgov / bc-wallet-mobile

BC Wallet to hold Verifiable Credentials
Apache License 2.0
60 stars 45 forks source link

App not successfully making a secure connections #645

Closed nodlesh closed 1 year ago

nodlesh commented 1 year ago

Steps to Reproduce (see attached video 1:00)

Open wallet, Scan a QR code, (the CANdy unverified person issuer was used in the video) Then we never leave the Just a moment while we make a secure connection... screen (if not reproducible in the Production environment, switch to Test in the developer options) The CANdy issuer actually says it's connected and the offer has been sent.

Reverting back to build 404, the same test(s) pass without a problem. This has been reproduced 100% of the time about 10+ times with build 441.

Side note: The app will sometimes crash on the scan of the QR code instead of showing the make a secure connection screen. This happened maybe 20% of the time.

Expected Result

Successfully connect and move on to the credential offer

Environment

BC Wallet build 441 and up (current is 637) All iOS and Android devices (only tested on Sauce Labs devices)

Workaround

Close the app and reopen. The credential offer is there on the welcome screen.

Severity

High

Priority

High

Video

https://images.zenhubusercontent.com/408537088/c34f905a-c2c6-4878-868e-1d292bf32ca5/build441connection.mp4

Test Impact

All

nodlesh commented 1 year ago

This issue still exists and is worst in the last two builds, latest being 637. It is making it almost impossible to move forward on test development since it happens so much. Could be related to #367 and #552 in aries-mobile-react-native.

jleach commented 1 year ago

RC conversation on the subject here.

jleach commented 1 year ago

Build 690 has a work around that may end up being the permanent fix.

I documented the problem more thoroughly here. I also created a related issue in ACA-py and one in AFJ to see the best way to fix the issue.

KimEbert42 commented 1 year ago

"The app will sometimes crash on the scan of the QR code instead of showing the make a secure connection screen. This happened maybe 20% of the time."

I've noticed that AFJ init doesn't return when the mediator is ready for use. The init will return before mediation is configured. I wonder if there is a timing issue that you are encountering where mediation isn't ready before you scan the QR code.