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

[HOLD for payment 2024-08-14] [$250] Tapping Pay button in an invoice crashes the app #44919

Closed
1 of 6 tasks
m-natarajan opened this issue Jul 5, 2024 · 44 comments
Closed
1 of 6 tasks
Assignees
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 External Added to denote the issue can be worked on by a contributor

Comments

@m-natarajan
Copy link

m-natarajan commented Jul 5, 2024

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Version Number: 9.0.4-5
Reproducible in staging?: Needs reproduction
Reproducible in production?: Needs reproduction
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: @c3024
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1720189810923929

Action Performed:

From account A:

  1. Create a new workspace (named “Invoices” for example)
  2. Click FAB > Send Invoice
  3. Send a $10 invoice to Account B

From account B:

  1. Log into Expensify and see a pending invoice, and there is a Pay button on the invoice report preview
  2. Click the Pay button

Expected Result:

Payment completed and no other issues

Actual Result:

App crashed

Workaround:

Unknown

Platforms:

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

  • Android: Native
  • Android: mWeb Chrome
  • iOS: Native
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

iOScrash.mp4

Add any screenshot/video evidence

View all open jobs on GitHub

Issue OwnerCurrent Issue Owner: @
Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~017b95ae95571a0d43
  • Upwork Job ID: 1811559913618974037
  • Last Price Increase: 2024-07-12
@m-natarajan m-natarajan added External Added to denote the issue can be worked on by a contributor Daily KSv2 Needs Reproduction Reproducible steps needed Bug Something is broken. Auto assigns a BugZero manager. labels Jul 5, 2024
@melvin-bot melvin-bot bot added the Help Wanted Apply this label when an issue is open to proposals by contributors label Jul 5, 2024
Copy link

melvin-bot bot commented Jul 5, 2024

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

Copy link

melvin-bot bot commented Jul 5, 2024

Triggered auto assignment to @sakluger (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

@MelvinBot
Copy link

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

@rushatgabhane
Copy link
Member

waiting for proposals

@jacobkim9881
Copy link
Contributor

Proposal

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

When paying sending invoice on iOS device, app crashes.

What is the root cause of that problem?

Error: object.value is not a function (it is undefined)

ref value in React Native app is different to web app. On Native app, ref.current.value is undefined as it is set to "" on Web app. So clicking the button makes an error when loading PopoverMenu.

ref={(ref) => {
caretButton.current = ref;
}}

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

We can set ref.current.value to "" when it is undefined.

What alternative solutions did you explore? (Optional)

N/A

2024-07-08.3.48.49.mov

@sakluger
Copy link
Contributor

@rushatgabhane @jacobkim9881 just confirming, you two were able to reproduce this issue?

@melvin-bot melvin-bot bot added the Overdue label Jul 11, 2024
@sakluger sakluger added Needs Reproduction Reproducible steps needed and removed Needs Reproduction Reproducible steps needed labels Jul 11, 2024
@MelvinBot
Copy link

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

@sakluger
Copy link
Contributor

I wasn't able to reproduce this myself - I didn't see the Pay button in Account B. I asked for help in the original Slack thread.

@jacobkim9881
Copy link
Contributor

@sakluger When I submit my proposal, it was reproducible.

Copy link

melvin-bot bot commented Jul 11, 2024

@sakluger, @rushatgabhane Whoops! This issue is 2 days overdue. Let's get this updated quick!

@sakluger
Copy link
Contributor

Awesome, thanks @jacobkim9881 - I'll go ahead and remove the Needs Reproduction label and we can get your proposal reviewed.

@sakluger sakluger added External Added to denote the issue can be worked on by a contributor and removed Needs Reproduction Reproducible steps needed External Added to denote the issue can be worked on by a contributor labels Jul 12, 2024
Copy link

melvin-bot bot commented Jul 12, 2024

Job added to Upwork: https://www.upwork.com/jobs/~017b95ae95571a0d43

@melvin-bot melvin-bot bot changed the title Tapping Pay button in an invoice crashes the app [$250] Tapping Pay button in an invoice crashes the app Jul 12, 2024
Copy link

melvin-bot bot commented Jul 12, 2024

Current assignee @rushatgabhane is eligible for the External assigner, not assigning anyone new.

@sakluger
Copy link
Contributor

@rushatgabhane please give the proposal a look when you can 🙏

@melvin-bot melvin-bot bot removed the Overdue label Jul 12, 2024
@rushatgabhane
Copy link
Member

@jacobkim9881 can you please retest on latest main? I'm not able to reproduce this bug

Copy link

melvin-bot bot commented Aug 7, 2024

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

  • [@rushatgabhane] The PR that introduced the bug has been identified. Link to the PR:
  • [@rushatgabhane] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
  • [@rushatgabhane] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
  • [@rushatgabhane] Determine if we should create a regression test for this bug.
  • [@rushatgabhane] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
  • [@sakluger] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

@mvtglobally
Copy link

Issue not reproducible during KI retests. (Third week)

@melvin-bot melvin-bot bot added Daily KSv2 Overdue and removed Weekly KSv2 labels Aug 14, 2024
Copy link

melvin-bot bot commented Aug 14, 2024

Payment Summary

Upwork Job

BugZero Checklist (@sakluger)

  • I have verified the correct assignees and roles are listed above and updated the neccesary manual offers
  • I have verified that there are no duplicate or incorrect contracts on Upwork for this job (https://www.upwork.com/ab/applicants/1811559913618974037/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 melvin-bot bot removed the Help Wanted Apply this label when an issue is open to proposals by contributors label Aug 14, 2024
Copy link

melvin-bot bot commented Aug 14, 2024

📣 @jacobkim9881 You have been assigned to this job!
Please apply to the Upwork job and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑‍💻
Once you apply to this job, your Upwork ID will be stored and you will be automatically hired for future jobs!
Keep in mind: Code of Conduct | Contributing 📖

@melvin-bot melvin-bot bot removed the Overdue label Aug 14, 2024
@sakluger
Copy link
Contributor

Whoops - it looks like @jacobkim9881 was never assigned to this issue before. @jacobkim9881 - could you please share your Upwork profile here so I can send you an offer?

@rushatgabhane can you please complete the BZ checklist?

@jacobkim9881
Copy link
Contributor

@sakluger
Copy link
Contributor

Thanks @jacobkim9881! Here's the offer: https://www.upwork.com/nx/wm/offer/103545280. Please let me know once you've accepted it.

@jacobkim9881
Copy link
Contributor

Thanks for giving an offer @sakluger! I accepted it. Can I know should I click to submit work button? Pardon, it was my first time.

@sakluger
Copy link
Contributor

Hi @jacobkim9881, there's no need to submit work through Upwork for Expensify jobs. We track the work on the Github issue and the connected PR. I've completed the payment through Upwork, thanks again!

@rushatgabhane friendly bump to complete the BZ checklist.

@melvin-bot melvin-bot bot added the Overdue label Aug 19, 2024
@sakluger
Copy link
Contributor

We can close this as soon as the BZ checklist is completed. FYI @rushatgabhane

@melvin-bot melvin-bot bot added Overdue and removed Overdue labels Aug 19, 2024
@rushatgabhane
Copy link
Member

rushatgabhane commented Aug 21, 2024

  1. The PR that introduced the bug has been identified. Link to the PR: feature: add props isSplit to button with dropdown #40278

  2. The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: https://github.com/Expensify/App/pull/40278/files#r1725749008

  3. A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: N.A.

  4. Determine if we should create a regression test for this bug. - Yes unless it is already covered by tests for paying.

  5. If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again

             From account A:
             
             1. Create a new workspace 
             2. Click FAB > Send Invoice
             3. Send a $10 invoice to Account B
             
             From account B:
             
             1. Log into Expensify and see a pending invoice, and there is a Pay button on the invoice report preview
             2. Click the Pay button
             3. Verify that you can choose the option `pay elsewhere` or `pay via expensify`
    

@sakluger
Copy link
Contributor

Thanks! I created the GH issue for regression test steps.

@JmillsExpensify
Copy link

I still need a confirmed payment summary, so reopening for a short bit.

@sakluger
Copy link
Contributor

Sorry @JmillsExpensify, I thought I had completed it. Here you go!

Summarizing payment on this issue:

Contributor: @jacobkim9881 $250, paid via Upwork
Contributor+: @rushatgabhane $250, please request on Newdot

@JmillsExpensify
Copy link

$250 approved for @rushatgabhane

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Payment Auto-added when associated PR is deployed to production Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 External Added to denote the issue can be worked on by a contributor
Projects
Status: Done
Development

No branches or pull requests

9 participants