Skip to content

IOU - Android - Nothing happened after clicked Request Money button #2995

Closed

Description

@isagoico

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


Expected Result

The screen should redirect to LHN after clicked Request Money button the

Actual Result

Nothing happened after clicked Request Money button

Action Performed

  1. Lunch the app
  2. Log in with applause account
  3. Press the + icon
  4. Press "Request Money"
  5. Enter an amount in the modal.
  6. Hit Next
  7. Select any user
  8. Click Request Money button

Workaround:

No workaround found.

Platform:

Where is this issue occurring?

Web
iOS
Android ✔️
Desktop App
Mobile Web

Version Number: 1.0.48-0

Logs: https://stackoverflow.com/c/expensify/questions/4856

Notes/Photos/Videos:
Only happening on Android app.

Bug5074926_Screen_Recording_20210518-170423_Expensifycash__1_.mp4

Expensify/Expensify Issue URL:

View all open jobs on Upwork


Found while executing #2976

Activity

  1. added
    AutoAssignerTriageAuto assign issues for triage to an available triage team member
    on May 19, 2021
  2. MelvinBot commented on May 19, 2021

    @MelvinBot
    Contributor

    Triggered auto assignment to @trjExpensify (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

  3. removed
    AutoAssignerTriageAuto assign issues for triage to an available triage team member
    on May 19, 2021
  4. roryabraham commented on May 19, 2021

    @roryabraham
    Contributor

    In my opinion this should not be a deploy blocker since the IOU flow is still hidden behind a beta.

  5. Julesssss commented on May 19, 2021

    @Julesssss
    Contributor

    Can reproduce. The IOU is being created, but a network request is failing, bizarre that it only occurs on Android

    [API] Handled error when making request TypeError: Network request failed
        at fetch.umd.js:527
        at JSTimers.js:235
        at _callTimer (JSTimers.js:130)
        at Object.callTimers (JSTimers.js:383)
        at MessageQueue.__callFunction (MessageQueue.js:416)
        at MessageQueue.js:109
        at MessageQueue.__guard (MessageQueue.js:364)
        at MessageQueue.callFunctionReturnFlushedQueue (MessageQueue.js:108)
        at debuggerWorker.aca173c4.js:4
    
  6. trjExpensify commented on May 19, 2021

    @trjExpensify
    Contributor

    Cool, getting this over to engineering and I'll add it the IOU parent issue as a regression to fix for N5.

  7. removed their assignment
    on May 19, 2021
  8. MelvinBot commented on May 19, 2021

    @MelvinBot
    Contributor

    Triggered auto assignment to @francoisl (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

  9. francoisl commented on May 19, 2021

    @francoisl
    Contributor

    I'm able to reproduce as well, looks like the request that's causing the Network request failed is one of the Get rvl=reportStuff shouldLoadOptionalKeys=true includePinnedReports=true requests, though there's no errors in the API logs. Tracing where it comes from exactly.

  10. francoisl commented on May 19, 2021

    @francoisl
    Contributor

    Ok I see the error. After creating the IOU expense, we call getIOUReportsForNewTransaction but the params passed is an array, so for this line

    https://github.com/Expensify/Expensify.cash/blob/85b084c0d2c79c08d6e6fad7eea08e00ca0c8a85/src/libs/actions/IOU.js#L29

    doesn't work - we don't pass a reportIDList to the API, and it returns a blank response. I don't know if we can ever have more than 1 IOU transaction returned by the API in this function?

    Also I'm surprised that it worked on other platforms, since we're passing the wrong data to the API all the time 🤔

  11. iwiznia commented on May 19, 2021

    @iwiznia
    Contributor

    but the params passed is an array

    An array makes sense, that line should get the reportID property of each of the elements in the array... was the array empty or did it contain objects with no reportID set?

  12. francoisl commented on May 19, 2021

    @francoisl
    Contributor

    The array contains regular-looking objects:

    [{
        "accountID": 5,
        "authToken": "XXX",
        "chatReportID": 203,
        "email": "francois+dev@expensify.com",
        "httpCode": 200,
        "jsonCode": 200,
        "reportID": 202,
        "requestID": "lxSyxm",
        "transactionID": "17179869247"
    }]

    I'm thinking just looping over every object and join the reportIDs with a comma?

  13. francoisl commented on May 19, 2021

    @francoisl
    Contributor

    Oh waiiit now I'm thinking, that pluck line should work actually? It's not passing a reportIDList though, maybe I'm looking at the wrong thing.

  14. iwiznia commented on May 19, 2021

    @iwiznia
    Contributor

    Maybe it is missing a .join(',')?

  15. francoisl commented on May 19, 2021

    @francoisl
    Contributor

    Yes was literally just thinking of doing that ^^

  16. francoisl commented on May 19, 2021

    @francoisl
    Contributor

    Yeah it works, going to prepare PR and test the other platforms.

  17. iwiznia commented on May 19, 2021

    @iwiznia
    Contributor

    I am still very confused how this only happened in android 😕

  18. Julesssss commented on May 20, 2021

    @Julesssss
    Contributor

    Nice find, would love to know why only Android has this issue  🤷‍♂️.

  19. francoisl commented on May 20, 2021

    @francoisl
    Contributor

    I know, me too! I retested from main on web and iOS after doing the fix yesterday, thinking that it couldn't actually work but... it did. I didn't dig deeper than this cause I had a bunch of other stuff to take care of, but I'll try to investigate again today.

    In the meantime, anyone feel free to take over the PR if it's urgent.

  20. trjExpensify commented on May 20, 2021

    @trjExpensify
    Contributor

    Thank yah, Franc. ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions