Skip to content

[$500] IOU - Error page appear when Employee replace receipt from manual request #34417

Closed

Description

@kavimuru

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: 1.4.24-4
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. Login as Employee
  2. Navigate to Workspace chat
  3. Go to +> Request money> Manual
  4. Add amount and tap Next
  5. On Manual page tap 3-dot menu >Add receipt and create the expense
  6. Navigate to the IOU details page and open the receipt
  7. From 3-dot menu select Replace

Expected Result:

Receipt page should open so user can replace the receipt

Actual Result:

Error page appear when Employee replace receipt from manual request

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

Add any screenshot/video evidence

Bug6339895_1705050008571.az_recorder_20240111_221143.1.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~01fa38279d33a4e92a
  • Upwork Job ID: 1745743279038337024
  • Last Price Increase: 2024-01-12

Activity

  1. added
    DeployBlockerCashThis issue or pull request should block deployment
    ExternalAdded to denote the issue can be worked on by a contributor
    BugSomething is broken. Auto assigns a BugZero manager.
    on Jan 12, 2024
  2. changed the title [-]mWeb - IOU - Error page appear when Employee replace receipt from manual request[/-] [+][$500] mWeb - IOU - Error page appear when Employee replace receipt from manual request[/+] on Jan 12, 2024
  3. melvin-bot commented on Jan 12, 2024

    @melvin-bot

    Triggered auto assignment to @jliexpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

  4. melvin-bot commented on Jan 12, 2024

    @melvin-bot
  5. added
    Help WantedApply this label when an issue is open to proposals by contributors
    on Jan 12, 2024
  6. melvin-bot commented on Jan 12, 2024

    @melvin-bot

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

  7. github-actions commented on Jan 12, 2024

    @github-actions
    Contributor

    👋 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.
  8. melvin-bot commented on Jan 12, 2024

    @melvin-bot

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

  9. changed the title [-][$500] mWeb - IOU - Error page appear when Employee replace receipt from manual request[/-] [+][$500] IOU - Error page appear when Employee replace receipt from manual request[/+] on Jan 12, 2024
  10. Gonals commented on Jan 12, 2024

    @Gonals
    Contributor

    It seems it starts working after a while. Probably when Onyx pushes something back.
    I think this flow is rare enough that we don't need to block (User chooses manual, immediately adds a receipt and then immediately changes it)

  11. added and removed
    DeployBlockerCashThis issue or pull request should block deployment
    on Jan 12, 2024
  12. bernhardoj commented on Jan 12, 2024

    @bernhardoj
    Contributor

    This issue is related to #33750.

    The transaction thread OpenReport request fails and returns an error. Because it has an error, the receipt page will show not found based on this logic.

    App/src/libs/ReportUtils.ts

    Lines 3934 to 3944 in 964548a

    function canUserPerformWriteAction(report: OnyxEntry<Report>) {
    const reportErrors = getAddWorkspaceRoomOrChatReportErrors(report);
    // If the Money Request report is marked for deletion, let us prevent any further write action.
    if (isMoneyRequestReport(report)) {
    const parentReportAction = ReportActionsUtils.getReportAction(report?.parentReportID ?? '', report?.parentReportActionID ?? '');
    if (parentReportAction?.pendingAction === CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE) {
    return false;
    }
    }
    return !isArchivedRoom(report) && isEmptyObject(reportErrors) && report && isAllowedToComment(report) && !isAnonymousUser;
    }

    Read more about the root cause of OpenReport fails here.

  13. tgolen commented on Jan 12, 2024

    @tgolen
    Contributor

    Yeah, that looks correct from what I saw in my testing, but I couldn't reliably reproduce it and I think the error occurs with or without my changes to the receipt selector. I think the receipt selector PR merely unveiled the failures that have already been happening. Hopefully, we can get to the bottom of it in #33750 and I am going to close this issue because it's mostly a duplicate.

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

Metadata

Metadata

Labels

BugSomething is broken. Auto assigns a BugZero manager.DailyKSv2EngineeringExternalAdded to denote the issue can be worked on by a contributorHelp WantedApply this label when an issue is open to proposals by contributors

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions