-
Notifications
You must be signed in to change notification settings - Fork 3.2k
[Due for payment 2025-05-13] [$250] Expense Reports - Hold option is not present when the expenses are bulk selected #60111
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
Comments
Triggered auto assignment to @OfstadC ( |
🚨 Edited by proposal-police: This proposal was edited at 2025-04-11 11:03:16 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.Hold option is not present when the expenses are bulk selected. What is the root cause of that problem?We are checking the condition that App/src/components/MoneyReportHeader.tsx Lines 208 to 220 in 6569205
What changes do you think we should make in order to solve the problem?We should remove
App/src/components/MoneyReportHeader.tsx Lines 208 to 220 in 6569205
We should do the same of the unhold options And we should use What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?None What alternative solutions did you explore? (Optional)Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job. |
🚨 Edited by proposal-police: This proposal was edited at 2025-04-11 22:55:00 UTC. ProposalPlease re-state the problem that we are trying to solve in this issue.Expense Reports - Hold option is not present when the expenses are bulk selected What is the root cause of that problem?The App/src/components/MoneyReportHeader.tsx Lines 202 to 210 in 7a04954
What changes do you think we should make in order to solve the problem?I believe the best solution is to replace the This allows us to delete both App/src/components/MoneyReportHeader.tsx Line 208 in 7a04954
So let's use the const canHoldAllTransactions = selectedTransactions.every((transaction) => {
return canHoldUnholdReportAction(getIOUActionForTransactionID(reportActions, transaction?.transactionID)).canHoldRequest
})
...
if (canHoldAllTransactions && !isReportReimbursed) { App/src/components/MoneyReportHeader.tsx Line 222 in 7a04954
const canUnHoldAllTransactions = selectedTransactions.every((transaction) => {
return canHoldUnholdReportAction(getIOUActionForTransactionID(reportActions, transaction?.transactionID)).canUnHoldRequest
})
...
if (canUnHoldAllTransactions) { What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?N/A What alternative solutions did you explore? (Optional)Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job. N/A |
Job added to Upwork: https://www.upwork.com/jobs/~021911870137765075477 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @allroundexperts ( |
Triggered auto assignment to @marcaaron, see https://stackoverflow.com/c/expensify/questions/7972 for more details. |
Hey @allroundexperts, I'm just curious why we shouldn't use a condition that checks if any selected transactions can not be held and vice versa. This edge case requires this condition to prevent the hold or unhold option from showing. Excuse me for asking, but could you explain why we shouldn't implement this condition? Thanks |
Because we're already checking for it when we do:
|
That condition only checks if any of the transactions are on hold. This is for transactions that are already held. I meant we should check if all of the transactions can or can't be held. Do you see the difference? |
Not sure if I am getting you, but we're checking for the second condition here already as well. |
The second condition is for pushing the unhold option, which needs to be addressed together with the condition of the hold option. However, we should change both conditions to check if all selected transactions can or can't be held because the current The condition for the hold option will check if all selected transactions can be held. The condition for the unhold option will check if all selected transactions can be unheld. |
@allroundexperts can you resolve this conversation and then tag me again when we are ready to assign? Thanks! |
@Tony-MK Why does it need to be addressed together? Sorry, but I can't seem to understand why we can't handle them separately like we are doing right now? |
I mean't to say we should change both conditions and remove |
Why do we need to use new booleans? Can you please explain that as well? |
We need to create new booleans because the For example: there will be issues when we attempt to hold the selected transactions, but one transaction can't be held and is not held. |
@Tony-MK Can you post a screen recording of the issue you're talking about? In my opinion, |
The OP seems to be solved, kindly check. However, I still propose to fix the other issue shown below. Screen.Recording.2025-04-17.at.00.10.07.movLines 3896 to 3897 in 45cd5bf
This is one example. The Since we are not using the |
I get that now @Tony-MK. Thanks for the detailed explanation. I agree that its much better to check if we can actually hold / un-hold vs just checking if the expense is held or not. Your proposal was a better option. @marcaaron Let's assign @Tony-MK! |
Welcome 👍 |
📣 @Tony-MK 🎉 An offer has been automatically sent to your Upwork account for the Contributor role 🎉 Thanks for contributing to the Expensify app! Offer link |
Hey, @allroundexperts. The PR is ready for review. |
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.1.39-8 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2025-05-13. 🎊 For reference, here are some details about the assignees on this issue:
|
@allroundexperts @OfstadC @allroundexperts The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button] |
@allroundexperts please complete the BZ checklist so we can issue payment 😃 |
BugZero Checklist:
Bug classificationSource of bug:
Where bug was reported:
Who reported the bug:
Regression Test ProposalPrecondition:
Test:
Verify that the hold option is present Do we agree 👍 or 👎 |
Payment Summary
|
Uh oh!
There was an error while loading. Please reload this page.
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:
Expected Result:
Hold option will be present.
Actual Result:
Hold option is not present when the expenses are bulk selected.
Workaround:
Unknown
Platforms:
Screenshots/Videos
1.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @OfstadCThe text was updated successfully, but these errors were encountered: