react-native-plaid-link-sdk icon indicating copy to clipboard operation
react-native-plaid-link-sdk copied to clipboard

Paid is stuck on the loader indefinitely on Android 7.0.0

Open viktorkurochka opened this issue 3 years ago • 7 comments

The problem

Briefly describe the issue you are experiencing (or the feature you want to see added to the Plaid Link React Native SDK). Tell us what you were trying to do and what happened instead.

Environment

Plaid Link React Native 7.2.1
ReactNative Version e.g. 0.64.2
Occurs on Android e.g. yes
Android OS Version e.g. 7.0.0 (24)
Android Devices/Emulators e.g. Pixel 3a physical
Occurs on iOS no
iOS Version n/a
iOS Devices/Emulators n/a
Screenshot 2022-02-02 at 15 02 58

Related to https://github.com/plaid/react-native-plaid-link-sdk/issues/440#issue-1092786393

But now, plaid launches, but it is stuck on the loader indefinitely.

viktorkurochka avatar Feb 02 '22 13:02 viktorkurochka

Coming from from #440: also seeing this same issue.

jennifer-dickinson avatar Feb 02 '22 19:02 jennifer-dickinson

Hi folks, would it be possible to share link_session_ids and link_tokens of cases where this repros? Thank you!

amytang0 avatar Feb 04 '22 21:02 amytang0

See the same thing when trying to use Payment Initiation with Link.

There seems to be a CORS problem on Plaid's servers. There is also a script error in Plaid's Javascript files. I guess the JS error could be due to me not having completed the OAuth configuration in the Dashboard, but there really should be a better error message in the logs than TypeError: Cannot read property 'filter' of undefined.

Here are the relevant adb logcat lines after opening Link:

02-07 08:56:22.831 20689 20689 I chromium: [INFO:CONSOLE(0)] "Access to link element resource at 'https://cdn.plaid.com/experiments/optimizely/datafile' from origin 'https://secure.plaid.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.", source: https://secure.plaid.com/link/v2/stable/link.html?androidSdkImplementation=inProcess&env=sandbox&isMobile=true&isWebview=true&linkOpenId=...&linkPersistentId=...&linkSdkVersion=3.7.0&reactNativeLinkSdkVersion=7.2.1&token=... (0)

02-07 08:56:24.837 20689 20689 I chromium: [INFO:CONSOLE(2)] "TypeError: Cannot read property 'filter' of undefined", source: https://cdn.plaid.com/link/2.0.1251/vendors~LazyLink.js (2)

02-07 08:56:24.901 20689 20689 I chromium: [INFO:CONSOLE(2)] "Error: Expected an OAuth-enabled institution to be selected", source: https://cdn.plaid.com/link/2.0.1251/vendors~LazyLink.js (2)

02-07 08:56:26.038 20689 20689 I chromium: [INFO:CONSOLE(1)] "'window.webkitStorageInfo' is deprecated. Please use 'navigator.webkitTemporaryStorage' or 'navigator.webkitPersistentStorage' instead.", source:  (1)

02-07 08:56:26.808 20689 20689 I chromium: [INFO:CONSOLE(0)] "Access to font at 'https://cdn.plaid.com/link/2.0.1251/assets/fonts/Inconsolata-Regular.ttf' from origin 'https://secure.plaid.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.", source: https://secure.plaid.com/link/v2/stable/link.html?androidSdkImplementation=inProcess&env=sandbox&isMobile=true&isWebview=true&linkOpenId=...&linkPersistentId=...&linkSdkVersion=3.7.0&reactNativeLinkSdkVersion=7.2.1&token=... (0)

What does the error message Error: Expected an OAuth-enabled institution to be selected really mean? The user hasn't seen anything on screen except that loading spinner, so they haven't selected any institution. Or is it "my" own institution (the recipient) that this message refers to?

fgeorgsson avatar Feb 07 '22 08:02 fgeorgsson

Hi @fgeorgsson , do you have a link_token or link_session_id where this occurred?

amytang0 avatar Feb 08 '22 17:02 amytang0

@amytang0, here's a link_token where you can observe the phenomenon: link-sandbox-16ad89ec-a411-4db1-8a30-5398ed285194

also seeing this message repeated:

2022-04-05 10:47:21.191 3788-3788/? W/DetectPable: type=1400 audit(0.0:17147): avc: denied { getattr } for path="/proc/fb" dev="proc" ino=4026532008 scontext=u:r:shell:s0 tcontext=u:object_r:proc:s0 tclass=file permissive=0

jennifer-dickinson avatar Apr 05 '22 17:04 jennifer-dickinson

Hi, just tried with the our latest SDK and can't repro with the given token. Things I can think of as possibly conflicting are the OKHttp dependencies that your app is using? For reference these are our values

  const val okhttp3_version = "4.9.1"
  const val retrofit_version = "2.8.2"
  const val okhttp = "com.squareup.okhttp3:okhttp:$okhttp3_version"
  const val retrofit = "com.squareup.retrofit2:retrofit:$retrofit_version"

amytang0 avatar Apr 05 '22 18:04 amytang0

@amytang0 Things we've tried so far:

  • updating the okhttp version to 4.9.1 (from 4.9.0)
  • updating retro fit to 2.9.0 (from 2.8.2).
  • updating plaid 7.2.1 to 7.4.0

Getting the following message on repeat (same as in #440)

W/art: Attempt to remove non-JNI local reference, dumping thread
...
W/art: Attempt to remove non-JNI local reference, dumping thread

New link token: link-sandbox-fa238dbc-5c94-43c2-bcb1-52448ee6a3cc

jennifer-dickinson avatar Apr 05 '22 20:04 jennifer-dickinson

Closing because Plaid Link React Native 7.x.x is no longer supported. If the issue persists in the latest SDK please open a new issue.

dtroupe-plaid avatar Jul 18 '23 17:07 dtroupe-plaid