Skip to content

[$250] [Better Expense Report View] No educational modal for held expense when expense is held in new expense report view #60079

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

Closed
6 of 8 tasks
mitarachim opened this issue Apr 11, 2025 · 16 comments
Assignees
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 External Added to denote the issue can be worked on by a contributor Help Wanted Apply this label when an issue is open to proposals by contributors

Comments

@mitarachim
Copy link

mitarachim commented Apr 11, 2025

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: 9.1.27-0
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: No, reproducible on hybrid only
If this was caught during regression testing, add the test name, ID and link from TestRail: Exp
Email or phone of affected tester (no customers): [email protected]
Issue reported by: Applause Internal Team
Device used: Mac 15.3 / Chrome
App Component: Money Requests

Action Performed:

Precondition:

  • Log in with a new Expensifail account.
  1. Go to staging.new.expensify.com
  2. Create a new workspace.
  3. Go to FAB > Create report.
  4. On Reports page, click + > Create expense.
  5. Create a manual expense.
  6. Click on the report header > Hold.
  7. Enter reason and save it.
  8. Note that there is no educational modal for held expense.
  9. Go back to Inbox.
  10. Open the workspace chat.
  11. Go to the transaction thread,
  12. Note that now the educational modal for held expense appeaers.

Expected Result:

In Step 8, there will be educational modal for held expense.

Actual Result:

In Step 8, there is no educational modal for held expense.
It only appears when the transaction thread is opened in Inbox.

Workaround:

Unknown

Platforms:

  • Android: Standalone
  • Android: HybridApp
  • Android: mWeb Chrome
  • iOS: Standalone
  • iOS: HybridApp
  • iOS: mWeb Safari
  • MacOS: Chrome / Safari
  • MacOS: Desktop

Screenshots/Videos

Bug6798961_1744334492818.20250411_090542.mp4

View all open jobs on GitHub

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021912590101525031358
  • Upwork Job ID: 1912590101525031358
  • Last Price Increase: 2025-04-16
Issue OwnerCurrent Issue Owner: @
Issue OwnerCurrent Issue Owner: @DylanDylann
@mitarachim mitarachim added Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 labels Apr 11, 2025
Copy link

melvin-bot bot commented Apr 11, 2025

Triggered auto assignment to @lydiabarclay (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.

@bernhardoj
Copy link
Contributor

Proposal

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

The hold educational modal doesn't show in search report page.

What is the root cause of that problem?

We check whether the transaction is on hold or not before opening the hold modal.

if (isLoadingHoldUseExplained || dismissedHoldUseExplanation || !isOnHold) {
return;
}
Navigation.navigate(ROUTES.PROCESS_MONEY_REQUEST_HOLD.getRoute(Navigation.getReportRHPActiveRoute()));
}, [dismissedHoldUseExplanation, isLoadingHoldUseExplained, isOnHold]);

However, it's always false because the transaction here is undefined.

const [transaction] = useOnyx(`${ONYXKEYS.COLLECTION.TRANSACTION}${isMoneyRequestAction(requestParentReportAction) && getOriginalMessage(requestParentReportAction)?.IOUTransactionID}`);

const [transactionThreadReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${transactionThreadReportID}`);
const [session] = useOnyx(ONYXKEYS.SESSION);
const requestParentReportAction = useMemo(() => {
if (!reportActions || !transactionThreadReport?.parentReportActionID) {
return null;
}
return reportActions.find((action): action is OnyxTypes.ReportAction<typeof CONST.REPORT.ACTIONS.TYPE.IOU> => action.reportActionID === transactionThreadReport.parentReportActionID);
}, [reportActions, transactionThreadReport?.parentReportActionID]);

It's undefined because we pass an undefined transactionThreadReportID.

<MoneyReportHeader
report={report}
policy={policy}
reportActions={reportActions}
transactionThreadReportID={undefined}

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

Pass the transactionThreadReportID.
transactionThreadReportID={transactionThreadReportID}

What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?

N/A

@lydiabarclay
Copy link

@Expensify/design what do y'all think? do you want that modal in every single view?

@dubielzyk-expensify
Copy link
Contributor

Yeah this seems like a bug to me. We want the Hold modal to show for the first time when an expense is held and in the video, that's not happening.

cc @Expensify/design for gut check

@melvin-bot melvin-bot bot added the Overdue label Apr 14, 2025
@shawnborton
Copy link
Contributor

Yup, I agree with that Jon. cc @mountiny

@mountiny mountiny self-assigned this Apr 14, 2025
@melvin-bot melvin-bot bot removed the Overdue label Apr 14, 2025
@mountiny mountiny assigned DylanDylann and unassigned mountiny and lydiabarclay Apr 14, 2025
@mountiny mountiny moved this to Second Cohort - CRITICAL in [#whatsnext] #migrate Apr 14, 2025
@mountiny mountiny changed the title Reports- No educational modal for held expense when expense is held in new expense report view [Better Expense Report View] No educational modal for held expense when expense is held in new expense report view Apr 14, 2025
@mountiny mountiny self-assigned this Apr 14, 2025
@DylanDylann
Copy link
Contributor

@mountiny Should we handle this issue external or internal?

@mountiny mountiny added the External Added to denote the issue can be worked on by a contributor label Apr 16, 2025
@melvin-bot melvin-bot bot changed the title [Better Expense Report View] No educational modal for held expense when expense is held in new expense report view [$250] [Better Expense Report View] No educational modal for held expense when expense is held in new expense report view Apr 16, 2025
Copy link

melvin-bot bot commented Apr 16, 2025

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

@melvin-bot melvin-bot bot added Overdue Help Wanted Apply this label when an issue is open to proposals by contributors labels Apr 16, 2025
Copy link

melvin-bot bot commented Apr 16, 2025

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

@nkdengineer
Copy link
Contributor

It will be fixed here

@mountiny
Copy link
Contributor

ok putting it on hold for #60334, could you add the test steps there too please?

@melvin-bot melvin-bot bot removed the Overdue label Apr 16, 2025
@mountiny mountiny changed the title [$250] [Better Expense Report View] No educational modal for held expense when expense is held in new expense report view [HOLD https://github.com/Expensify/App/pull/60334] [$250] [Better Expense Report View] No educational modal for held expense when expense is held in new expense report view Apr 16, 2025
@nkdengineer
Copy link
Contributor

Will update tomorrow.

@melvin-bot melvin-bot bot added the Overdue label Apr 21, 2025
Copy link

melvin-bot bot commented Apr 22, 2025

@mountiny, @DylanDylann Eep! 4 days overdue now. Issues have feelings too...

@lydiabarclay
Copy link

still on hold for #60334

@mountiny mountiny changed the title [HOLD https://github.com/Expensify/App/pull/60334] [$250] [Better Expense Report View] No educational modal for held expense when expense is held in new expense report view [$250] [Better Expense Report View] No educational modal for held expense when expense is held in new expense report view Apr 22, 2025
@mountiny
Copy link
Contributor

The linked PR was merged, lets confirm this is also fixed now in main @DylanDylann

@melvin-bot melvin-bot bot removed the Overdue label Apr 22, 2025
@DylanDylann
Copy link
Contributor

Can't reproduce

Screen.Recording.2025-04-23.at.11.49.22.mov

@mountiny
Copy link
Contributor

Thanks we can close then!

@github-project-automation github-project-automation bot moved this from Second Cohort - CRITICAL to Done in [#whatsnext] #migrate Apr 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 External Added to denote the issue can be worked on by a contributor Help Wanted Apply this label when an issue is open to proposals by contributors
Projects
Development

No branches or pull requests

8 participants