Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

On mobile, after sending information after a proof request, vc-authn does not receive or provide feedback of the information sent #1997

Open
3 of 5 tasks
knguyenBC opened this issue May 30, 2024 · 6 comments
Labels
bug Something isn't working priority/high spike

Comments

@knguyenBC
Copy link

knguyenBC commented May 30, 2024

Description of problem

When a person attempts to access a service page on a mobile device using BC Wallet, they are able to successfully open the wallet via deeplink, receive a proof request and send the info over, however when they return to the service page, vc-authn does not provide any change to the interface. The page still displays the button "BC Wallet" in a pressed state.

Troubleshoot attempts:

  • No change after waiting after 1 minute
  • Did not fix after changing to LTE/mobile data
  • Did not fix after uninstalling and reinstalling app
  • Also does not work on test builds

Expected behavior

When the person returns to the service page after sharing information, vc-authn should display the correct message (either accepted, declined, not accepted etc.) and direct people through to the service (if accepted).

Steps to reproduce

  • on mobile device, go to either ACM or Courthouse libraries
  • access the service using BC wallet
  • Accept the proof request
  • return to service page

Screenshots and/or log output

2024-05-16_BC.Wallet.CLBC.iPhone.Test.MP4

Environment

  • Occurs on Android
  • Occurs on iOS

Build #: 1.0.16

Android Device Model:

iOS Device Model:

Workaround

none. use desktop?

Severity

  • High
  • Medium
  • Low
@knguyenBC knguyenBC added bug Something isn't working priority/high labels May 30, 2024
@loneil
Copy link

loneil commented May 30, 2024

Note that in any situations when going back to the app the BC Wallet button will be disabled and a pending message displayed. This is not deployed past VC-AuthN DEV yet though (can be seen here).
Though that change should not affect ability for the verified case to go through described here.

@loneil
Copy link

loneil commented May 30, 2024

This behaviour is working for me correctly consistently in any case I can try so far. (Need to try on an iPhone, but have used iPad)

Cases I am testing:

  • Go to a2a test https://a2a-test.apps.silver.devops.gov.bc.ca/pre-vc-auth/
  • Log in with VC-AuthN and hit BC Wallet button
  • Accept proof in BC Wallet app, repeatedly tested various navigation cases:
    • Wait in the App for the proof to complete, go home, navigate back to browser
      • Try multitask app navigation (iOS and Android)
      • Try iOS top left previous app link
      • Try Android back gestures
    • Immediately multitask back to browser without waiting
      • Sit on page until proof completes
    • Wait a long time in BC Wallet app, click around to other things
      • Eventually go back to browser
      • Proof has completed in the background and logged in DARS audio page is sitting there

Above successful cases are working for me consistently on following cases

  • Pixel 6. Android 14 AP1A.240505.005
    • Chrome 125.0.6422.112
    • Firefox 126.0.1
    • Home WiFi
    • LTE
  • iPad Air 4th. iPadOS 17.4.1. Home WiFi.
    • Safari
      • Request Mobile Site
      • Request Desktop Site
    • Chrome
      • Request Mobile Site
      • Request Desktop Site

Android recording

file.mp4

iPad recording

PXL_20240530_195229035.1.mp4

@cvarjao cvarjao added the spike label Jun 6, 2024
@jleach jleach self-assigned this Jun 11, 2024
@cvarjao cvarjao assigned loneil and esune and unassigned jleach Jun 14, 2024
@esune
Copy link
Member

esune commented Jun 14, 2024

It appears that the issue is with websockets being severed once the browser goes to the background (switch to wallet) and never re-established when the focus is regained (wallet back to browser). The issue seems to be more prominent with iOS.

Aiming to resolve this in bcgov/vc-authn-oidc#548

@esune esune removed their assignment Jun 27, 2024
@loneil
Copy link

loneil commented Jul 9, 2024

I believe this is fixed in the next version of VCAuthN (currently in Dev environment). Tested out with Clecio on his iPhone a while back and was unable to get any failures.

@loneil loneil removed their assignment Jul 22, 2024
@knguyenBC
Copy link
Author

knguyenBC commented Aug 15, 2024

I tested production credentials and Courthouse libraries.
iOS (iPhone SE) did not work
Android (Pixel 8) worked
bcgov/vc-authn-oidc#548 did not resolve the issue for iOS it seems.

@esune
Copy link
Member

esune commented Aug 20, 2024

Unless I am missing something, I think what @loneil did in bcgov/vc-authn-oidc#548 is all we could do on our end (i.e.: all that can be done in the webapp to ensure websockets reconnect). We may have to look more in-depth at how app switching in iOS works and whether this is something we could solve in the mobile app code (maybe there's a way of specifying an app should not freeze for the specified interaction with another app?) or it is an issue that needs to be solved/supported at the OS level.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working priority/high spike
Projects
Status: Assignment Ready
Development

No branches or pull requests

5 participants