You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Due for payment 2025-09-19] [$250] Scan - Image can be dropped on scan zone in room when there are 2 members which leads to error #66643
Version Number: 9.1.82-2 Reproducible in staging?: Yes Reproducible in production?: Yes If this was caught during regression testing, add the test name, ID and link from TestRail:#62650 Email or phone of affected tester (no customers):jsdnoisjiosdjdoi@gmail.com Issue reported by: Applause Internal Team Device used: Mac 15.5 / Chrome App Component: Money Requests
Action Performed:
Go to staging.expensify.com
Open FAB > Start chat > Room.
Create a room.
Open room header > Members.
Invite two members to the room.
Close the RHP.
Drag and drop an image to Scan zone.
Click Create expense on the confirm page.
Wait for error to show up on the expense preview.
Click on the expense preview.
Expected Result:
In Step 7, Scan zone should be disabled in room if split expense cannot be created in room via drag and drop.
Actual Result:
In Step 7, Scan zone is not disabled in room and photo can be dropped on the Scan zone.
In Step 10, error shows up because the scan expense cannot be created in room via drop zone when there are at least 2 members in the room.
If only one member is invited to the room, Scan expense is created in 1:1 DM when the photo is dropped on Scan zone in the room.
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?
NA
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.
Please re-state the problem that we are trying to solve in this issue.
Scan - Image can be dropped on scan zone in room when there are 2 members which leads to error
What is the root cause of that problem?
shouldDisplayDualDropZone only checks if money request options are available but doesn't validate whether scan requests can actually be processed in the current report
The temporary_getMoneyRequestOptions function returns CONST.IOU.TYPE.SPLIT for rooms with multiple participants, which makes shouldDisplayDualDropZone return true and shows the scan drop zone
What changes do you think we should make in order to solve the problem?
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)
We can create a util function and for each type of report, we will return the default iou action accordingly.
We should use the getMoneyRequestOptions function for reference and return a default iou type for each type of report if scanning is allowed in that specific type of report. e.g. return iou type create for workspace expense chat, split for room/group chat with multiple participants, null for invoice report chat.
// We don't allow IOU actions if an Expensify account is a participant of the report, unless the policy that the report is on is owned by an Expensify account
// Pay someone option should be visible only in 1:1 DMs
if(isDM(report)&&hasSingleParticipantInReport){
options=[...options,CONST.IOU.TYPE.PAY];
if(!filterDeprecatedTypes){
options=[...options,CONST.IOU.TYPE.SEND];
}
}
returnoptions;
}
The update the condition below to use the new util function and check if any default option is returned or not, instead of checking the length of the getMoneyRequestOptions.
What alternative solutions did you explore? (Optional 2)
We can check if the last iou type returned from getMoneyRequestOptions can work with scanning or not and based on that we will set the iou type when evaluating shouldDisplayDualDropZone and navigating to confirmation page.
We can create a array of options which can work with scanning, e.g. ["create", "split"] and then check if the last iou type returned from getMoneyRequestOptions is an valid option in the array or not.
changed the title [-]Scan - Image can be dropped on scan zone in room when there are 2 members which leads to error[/-][+][$250] Scan - Image can be dropped on scan zone in room when there are 2 members which leads to error[/+]on Jul 21, 2025
Payment summary: @hoangzinh $250 please request in NewDot and complete the checklist @Krishna2323 $250 please request in NewDot to be paid in upwork - I see the offer was rejected, was that by accident?
[Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source 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
[Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.
[BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.
Link to issue:
Regression Test Proposal
Note: Tests are only for Web and Desktop app, mWeb and native app does not support drag and drop
Activity
melvin-bot commentedon Jul 17, 2025
Triggered auto assignment to @sonialiap (
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.samranahm commentedon Jul 17, 2025
Proposal
Please re-state the problem that we are trying to solve in this issue.
Image can be dropped on scan zone in room when there are 2 members which leads to error
What is the root cause of that problem?
We are missing room check here
App/src/pages/home/report/ReportActionCompose/ReportActionCompose.tsx
Line 234 in 48a96b0
What changes do you think we should make in order to solve the problem?
Add the room check here
App/src/pages/home/report/ReportActionCompose/ReportActionCompose.tsx
Line 234 in 48a96b0
to prevent showing the receipt option in rooms
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?
NA
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.
ryntgh commentedon Jul 17, 2025
Proposal
Please re-state the problem that we are trying to solve in this issue.
Scan - Image can be dropped on scan zone in room when there are 2 members which leads to error
What is the root cause of that problem?
shouldDisplayDualDropZoneonly checks if money request options are available but doesn't validate whether scan requests can actually be processed in the current reportApp/src/pages/home/report/ReportActionCompose/ReportActionCompose.tsx
Lines 238 to 242 in be6876c
The
temporary_getMoneyRequestOptionsfunction returnsCONST.IOU.TYPE.SPLITfor rooms with multiple participants, which makesshouldDisplayDualDropZonereturntrueand shows the scan drop zoneWhat changes do you think we should make in order to solve the problem?
We can add validation to check for
isChatRoomWhat 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)
N/A
Krishna2323 commentedon Jul 17, 2025
Proposal
Please re-state the problem that we are trying to solve in this issue.
Scan - Image can be dropped on scan zone in room when there are 2 members which leads to error
What is the root cause of that problem?
CONST.IOU.TYPE.SUBMITif theisSelfDMis false.App/src/pages/home/report/ReportActionCompose/ReportActionCompose.tsx
Lines 508 to 521 in be6876c
What changes do you think we should make in order to solve the problem?
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)
getMoneyRequestOptionsfunction for reference and return a default iou type for each type of report if scanning is allowed in that specific type of report. e.g. return iou type create for workspace expense chat, split for room/group chat with multiple participants, null for invoice report chat.App/src/libs/ReportUtils.ts
Lines 8589 to 8674 in be6876c
getMoneyRequestOptions.App/src/pages/home/report/ReportActionCompose/ReportActionCompose.tsx
Lines 238 to 242 in be6876c
What alternative solutions did you explore? (Optional 2)
getMoneyRequestOptionscan work with scanning or not and based on that we will set the iou type when evaluatingshouldDisplayDualDropZoneand navigating to confirmation page.getMoneyRequestOptionsis an valid option in the array or not.Result
Monosnap.screencast.2025-07-18.11-04-39.mp4
Krishna2323 commentedon Jul 17, 2025
PROPOSAL UPDATED
[-]Scan - Image can be dropped on scan zone in room when there are 2 members which leads to error[/-][+][$250] Scan - Image can be dropped on scan zone in room when there are 2 members which leads to error[/+]melvin-bot commentedon Jul 21, 2025
Job added to Upwork: https://www.upwork.com/jobs/~021947236346996745937
melvin-bot commentedon Jul 21, 2025
Triggered auto assignment to Contributor-plus team member for initial proposal review - @rushatgabhane (
External)60 remaining items
sonialiap commentedon Sep 22, 2025
Payment summary:
@hoangzinh $250 please request in NewDot and complete the checklist
@Krishna2323 $250 please request in NewDot
to be paid in upwork - I see the offer was rejected, was that by accident?hoangzinh commentedon Sep 22, 2025
BugZero Checklist:
Bug classification
Source of bug:
Where bug was reported:
Who reported the bug:
[Contributor] 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/65264/files#r2367777423
[Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source 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
[Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.
[BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.
Link to issue:
Regression Test Proposal
Note: Tests are only for Web and Desktop app, mWeb and native app does not support drag and drop
Test:
Do we agree 👍 or 👎
hoangzinh commentedon Sep 22, 2025
Thanks @sonialiap. I requested in ND
Krishna2323 commentedon Sep 23, 2025
@sonialiap I'm now eligible for payments through NewDot that's why I ended the Upwork contract.
Ref: #64948 (comment)
sonialiap commentedon Sep 25, 2025
@Krishna2323 congrats! I've updated the payment summary asking you to request payment in NewDot
melvin-bot commentedon Sep 26, 2025
@Krishna2323 Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!
Krishna2323 commentedon Oct 4, 2025
Requested in NewDot!
garrettmknight commentedon Oct 7, 2025
$250 approved for @Krishna2323
quinthar commentedon Oct 18, 2025
Approved $250 to @hoangzinh