App icon indicating copy to clipboard operation
App copied to clipboard

[HOLD for payment 2024-02-07] [HOLD for payment 2024-02-07] [$500] Android - Wallet - App crashes on tapping enable wallet.

Open lanitochka17 opened this issue 1 year ago • 26 comments

If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!


Version Number: 1.4.33 Reproducible in staging?: Y Reproducible in production?: N If this was caught during regression testing, add the test name, ID and link from TestRail: Email or phone of affected tester (no customers): Logs: https://stackoverflow.com/c/expensify/questions/4856 Expensify/Expensify Issue URL: Issue reported by: Applause - Internal Team Slack conversation:

Action Performed:

  1. Launch app
  2. Tap profile icon
  3. Tap Wallet
  4. Tap Enable Wallet

Expected Result:

App must not crash on tapping enable wallet

Actual Result:

App crashes on tapping enable wallet

Workaround:

Unknown

Platforms:

Which of our officially supported platforms is this issue occurring on?

  • [x] Android: Native
  • [ ] Android: mWeb Chrome
  • [ ] iOS: Native
  • [ ] iOS: mWeb Safari
  • [ ] MacOS: Chrome / Safari
  • [ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/b41b112e-4839-4017-be33-2a547664470d

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~0165d2a9876eb54d92
  • Upwork Job ID: 1752165534277464064
  • Last Price Increase: 2024-01-30

lanitochka17 avatar Jan 30 '24 00:01 lanitochka17

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

  1. Identify the pull request that introduced this issue and revert it.
  2. Find someone who can quickly fix the issue.
  3. Fix the issue yourself.

github-actions[bot] avatar Jan 30 '24 00:01 github-actions[bot]

Triggered auto assignment to @marcaaron (Engineering), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.

melvin-bot[bot] avatar Jan 30 '24 00:01 melvin-bot[bot]

@lanitochka17 can you confirm that this only happens on Android?

marcaaron avatar Jan 30 '24 00:01 marcaaron

Hmm seems like possibly some issue with Plaid. This is the crash:

https://console.firebase.google.com/u/0/project/expensify-chat/crashlytics/app/android:com.expensify.chat/issues/e9d92dfee0a1b8347102bfce26614cf7?time=last-seven-days&types=crash&versions=1.4.33-2%20(1001043302)&sessionEventKey=65B841D100750001772CBB1688FCE15D_1908126535333268522

marcaaron avatar Jan 30 '24 00:01 marcaaron

Possibly related to https://github.com/plaid/react-native-plaid-link-sdk/issues/620

Going to try to bump the Plaid version and see if that helps.

marcaaron avatar Jan 30 '24 00:01 marcaaron

It works locally for me with the bumped version. I have to roll out now though so if someone can raise the PR and test that would be great. This is what we need to update:

"react-native-plaid-link-sdk": "10.12.0"

marcaaron avatar Jan 30 '24 03:01 marcaaron

Job added to Upwork: https://www.upwork.com/jobs/~0165d2a9876eb54d92

melvin-bot[bot] avatar Jan 30 '24 03:01 melvin-bot[bot]

Triggered auto assignment to Contributor-plus team member for initial proposal review - @getusha (External)

melvin-bot[bot] avatar Jan 30 '24 03:01 melvin-bot[bot]

@marcaaron I'm happy to take this and raise the PR

Proposal

Please re-state the problem that we are trying to solve in this issue.

App crashes on tapping enable wallet

What is the root cause of that problem?

We have outdated Plaid version. This is potentially related to this Plaid issue and they already roll out a new version to fix it, but we didn't update the version in our repo.

What changes do you think we should make in order to solve the problem?

We need to update the react-native-plaid-link-sdk version to 10.12.0 as specified here

What alternative solutions did you explore? (Optional)

If there's no reason to avoid 11.x Plaid lib version, we can also upgrade to v11.4.0

tienifr avatar Jan 30 '24 03:01 tienifr

Works for me, though regarding this bit specifically:

What alternative solutions did you explore? (Optional) If there's no reason to avoid 11.x Plaid lib version, we can also upgrade to v11.4.0

The potential risk of updating to a new major version would be that there could be breaking changes that we'd need to work out. In the short/medium, yes we should absolutely update to 11.4, but for this blocker it might be safer to upgrade to 10.12. (Just my 2¢)

francoisl avatar Jan 30 '24 18:01 francoisl

Agree with @francoisl

marcaaron avatar Jan 30 '24 18:01 marcaaron

Sorry I thought someone would have fixed this by now. But since not I'll raise the PR myself.

marcaaron avatar Jan 30 '24 18:01 marcaaron

Current assignee @getusha is eligible for the Internal assigner, not assigning anyone new.

melvin-bot[bot] avatar Jan 30 '24 18:01 melvin-bot[bot]

Proposal

Please re-state the problem that we are trying to solve in this issue.

Android app crashes on plaid flow on release build

What is the root cause of that problem?

crash

This is regression from #34218 which enabled proguard in release build

What changes do you think we should make in order to solve the problem?

We should add below lines to proguard-rules.pro file:

# Keep generic signature of Call, Response (R8 full mode strips signatures from non-kept items). 
 -keep,allowobfuscation,allowshrinking interface retrofit2.Call 
 -keep,allowobfuscation,allowshrinking class retrofit2.Response 
  
 # With R8 full mode generic signatures are stripped for classes that are not 
 # kept. Suspend functions are wrapped in continuations where the type argument 
 # is used. 
 -keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation 

mkhutornyi avatar Jan 30 '24 21:01 mkhutornyi

cc @mountiny @Julesssss @shubham1206agra

getusha avatar Jan 30 '24 21:01 getusha

build is running here to verify fix

mkhutornyi avatar Jan 30 '24 21:01 mkhutornyi

Assigning @mkhutornyi since they have a PR ready that we already tested - https://github.com/Expensify/App/pull/35440

francoisl avatar Jan 30 '24 22:01 francoisl

Reviewing label has been removed, please complete the "BugZero Checklist".

melvin-bot[bot] avatar Jan 31 '24 02:01 melvin-bot[bot]

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.4.33-5 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

  • https://github.com/Expensify/App/pull/35440

If no regressions arise, payment will be issued on 2024-02-07. :confetti_ball:

For reference, here are some details about the assignees on this issue:

  • @getusha requires payment (Needs manual offer from BZ)
  • @mkhutornyi requires payment (Needs manual offer from BZ)

melvin-bot[bot] avatar Jan 31 '24 02:01 melvin-bot[bot]

⚠️ Looks like this issue was linked to a Deploy Blocker here

If you are the assigned CME please investigate whether the linked PR caused a regression and leave a comment with the results.

If a regression has occurred and you are the assigned CM follow the instructions here.

If this regression could have been avoided please consider also proposing a recommendation to the PR checklist so that we can avoid it in the future.

melvin-bot[bot] avatar Jan 31 '24 22:01 melvin-bot[bot]

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.4.34-1 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

  • https://github.com/Expensify/App/pull/35440

If no regressions arise, payment will be issued on 2024-02-07. :confetti_ball:

For reference, here are some details about the assignees on this issue:

  • @getusha requires payment (Needs manual offer from BZ)
  • @mkhutornyi requires payment (Needs manual offer from BZ)

melvin-bot[bot] avatar Jan 31 '24 22:01 melvin-bot[bot]

Issue is ready for payment but no BZ is assigned. @sakluger you are the lucky winner! Please verify the payment summary looks correct and complete the checklist. Thanks!

melvin-bot[bot] avatar Feb 07 '24 15:02 melvin-bot[bot]

Payment Summary

Upwork Job

  • ROLE: @getusha paid $500 via Upwork (https://www.upwork.com/nx/wm/offer/100809395)
  • ROLE: @mkhutornyi paid $500 via Upwork (https://www.upwork.com/nx/wm/offer/100809408)

BugZero Checklist (@sakluger)

  • [x] I have verified the correct assignees and roles are listed above and updated the neccesary manual offers
  • [x] I have verified that there are no duplicate or incorrect contracts on Upwork for this job (https://www.upwork.com/ab/applicants/1752165534277464064/hired)
  • [ ] I have paid out the Upwork contracts or cancelled the ones that are incorrect
  • [ ] I have verified the payment summary above is correct

melvin-bot[bot] avatar Feb 07 '24 15:02 melvin-bot[bot]

@getusha @mkhutornyi I sent offers to both of you via Upwork.

sakluger avatar Feb 07 '24 17:02 sakluger

@sakluger not able to accept the offer

Screenshot 2024-02-07 at 8 14 12 PM

getusha avatar Feb 07 '24 17:02 getusha

Weird, it says I withdrew the offer. Sorry about that, I sent you a new one @getusha.

sakluger avatar Feb 07 '24 21:02 sakluger

@getusha please let me know once you've accepted the offer, thanks 🙇

sakluger avatar Feb 08 '24 16:02 sakluger

@sakluger accepted thank you! :)

getusha avatar Feb 08 '24 19:02 getusha

Thanks! All paid 🙇

sakluger avatar Feb 08 '24 21:02 sakluger

@sakluger I haven't received payment. Can you please check?

mkhutornyi avatar Feb 14 '24 06:02 mkhutornyi