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
[$250] Track - Whisper options appears on workspace chat when Share it with your accountant #71212
Please re-state the problem that we are trying to solve in this issue.
Whisper options (including "Share it with your accountant") incorrectly appear on workspace chat expenses when they should be hidden.
What is the root cause of that problem?
The isActionableTrackExpense logic in PureReportActionItem.tsx shows whisper options for all actionable track expense actions without checking if the current report is a workspace chat
The code lacks a condition to differentiate between workspace chats (POLICY_EXPENSE_CHAT) and regular chats when determining whether to display whisper options
What changes do you think we should make in order to solve the problem?
Add a check using isPolicyExpenseChat(report) under this line to return an empty array when the report is a workspace chat to prevent whisper options from appearing
if(isPolicyExpenseChat(report)){return[];}
POC
Screen.Recording.2025-09-25.at.01.45.22.mov
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?
Add a test should not show whisper options for actionable track expense in workspace chat:
describe('Actionable track expense whisper options',()=>{it('should not show whisper options for actionable track expense in workspace chat',async()=>{constaction=createReportAction(CONST.REPORT.ACTIONS.TYPE.ACTIONABLE_TRACK_EXPENSE_WHISPER,{transactionID: '12345',});// Create a workspace chat report (policy expense chat)constworkspaceReport={reportID: '123',type: CONST.REPORT.TYPE.CHAT,chatType: CONST.REPORT.CHAT_TYPE.POLICY_EXPENSE_CHAT,policyID: 'policy123',};renderItemWithAction(action,workspaceReport);awaitwaitForBatchedUpdatesWithAct();expect(screen.queryByText(translateLocal('actionableMentionTrackExpense.submit'))).not.toBeOnTheScreen();expect(screen.queryByText(translateLocal('actionableMentionTrackExpense.share'))).not.toBeOnTheScreen();expect(screen.queryByText(translateLocal('actionableMentionTrackExpense.categorize'))).not.toBeOnTheScreen();expect(screen.queryByText(translateLocal('actionableMentionTrackExpense.nothing'))).not.toBeOnTheScreen();});it('should show whisper options for actionable track expense in regular chat',async()=>{constaction=createReportAction(CONST.REPORT.ACTIONS.TYPE.ACTIONABLE_TRACK_EXPENSE_WHISPER,{transactionID: '12345',});constregularReport={reportID: '123',type: CONST.REPORT.TYPE.CHAT,chatType: CONST.REPORT.CHAT_TYPE.SELF_DM,};renderItemWithAction(action,regularReport);awaitwaitForBatchedUpdatesWithAct();expect(screen.getByText(translateLocal('actionableMentionTrackExpense.submit'))).toBeOnTheScreen();expect(screen.getByText(translateLocal('actionableMentionTrackExpense.nothing'))).toBeOnTheScreen();});});
What alternative solutions did you explore? (Optional)
changed the title [-]Track - Whisper options appears on workspace chat when Share it with your accountant[/-][+][$250] Track - Whisper options appears on workspace chat when Share it with your accountant[/+]on Sep 24, 2025
Please re-state the problem that we are trying to solve in this issue.
Whisper options appears on workspace chat when Share it with your accountant
What is the root cause of that problem?
If the user has no workspace, a draft report is created when share it with your accountant. When retrieving participants, we're obtaining the report from Onyx.connecthere, but it's not updated when the draft report is merged, resulting in an incorrect participant. We can see in the UI that an unavailable workspace is displayed on the confirmation page.
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)
NA
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.
Blocked from reproducing this as "Share with accountant" option is not displayed, Tried both public and expensifail domain.
Windows 11 / chrome / v9.2.55-3
Yes, it is disabled in PR. I think we need to wait until it is enabled again or else @aldo-expensify can verify in dev mode by enabling it in the code.
Yes, it is disabled in PR. I think we need to wait until it is enabled again or else @aldo-expensify can verify in dev mode by enabling it in the code.
hmm, I'm understanding it is not certain that the functionality will be enabled again, if that is the case, maybe we should just close all this and pay for the work done. What do you think @cristipaval ?
Activity
melvin-bot commentedon Sep 24, 2025
Triggered auto assignment to @twisterdotcom (
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.abzokhattab commentedon Sep 24, 2025
Proposal
Please re-state the problem that we are trying to solve in this issue.
Whisper options (including "Share it with your accountant") incorrectly appear on workspace chat expenses when they should be hidden.
What is the root cause of that problem?
isActionableTrackExpenselogic inPureReportActionItem.tsxshows whisper options for all actionable track expense actions without checking if the current report is a workspace chatPOLICY_EXPENSE_CHAT) and regular chats when determining whether to display whisper optionsWhat changes do you think we should make in order to solve the problem?
isPolicyExpenseChat(report)under this line to return an empty array when the report is a workspace chat to prevent whisper options from appearingPOC
Screen.Recording.2025-09-25.at.01.45.22.mov
What specific scenarios should we cover in automated tests to prevent reintroducing this issue in the future?
Add a test should not show whisper options for actionable track expense in workspace chat:
What alternative solutions did you explore? (Optional)
NA
melvin-bot commentedon Sep 24, 2025
Job added to Upwork: https://www.upwork.com/jobs/~021970973512761844896
[-]Track - Whisper options appears on workspace chat when Share it with your accountant[/-][+][$250] Track - Whisper options appears on workspace chat when Share it with your accountant[/+]melvin-bot commentedon Sep 24, 2025
Triggered auto assignment to Contributor-plus team member for initial proposal review - @Pujan92 (
External)mkzie2 commentedon Sep 25, 2025
Proposal
Please re-state the problem that we are trying to solve in this issue.
Whisper options appears on workspace chat when Share it with your accountant
What is the root cause of that problem?
If the user has no workspace, a draft report is created when share it with your accountant. When retrieving
participants, we're obtaining the report fromOnyx.connecthere, but it's not updated when the draft report is merged, resulting in an incorrect participant. We can see in the UI that an unavailable workspace is displayed on the confirmation page.App/src/pages/iou/request/step/IOURequestStepConfirmation.tsx
Lines 256 to 266 in ffe38b1
Then the
actionableTrackExpenseWhisperis created becauseisPolicyExpenseChatisfalse.App/src/libs/actions/IOU.ts
Lines 4002 to 4009 in ffe38b1
What changes do you think we should make in order to solve the problem?
getReportOptionApp/src/pages/iou/request/step/IOURequestStepConfirmation.tsx
Lines 256 to 266 in ffe38b1
iouReportis incorrect.The RCA is the policy is
undefinedhere since it's draftApp/src/libs/ReportUtils.ts
Line 6227 in ffe38b1
Then we can't get the title field here.
App/src/libs/ReportUtils.ts
Line 6262 in ffe38b1
To fix this issue
App/src/libs/actions/Policy/Policy.ts
Line 2429 in ffe38b1
policyparameter tobuildOptimisticExpenseReportfunction and pass it hereApp/src/libs/ReportUtils.ts
Line 6262 in ffe38b1
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)
NA
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.
melvin-bot commentedon Sep 29, 2025
@Pujan92 Eep! 4 days overdue now. Issues have feelings too...
48 remaining items
m-natarajan commentedon Nov 12, 2025
Blocked from reproducing this as "Share with accountant" option is not displayed, Tried both public and expensifail domain.
Windows 11 / chrome / v9.2.55-3
Pujan92 commentedon Nov 14, 2025
Yes, it is disabled in PR. I think we need to wait until it is enabled again or else @aldo-expensify can verify in dev mode by enabling it in the code.
mkzie2 commentedon Nov 23, 2025
@aldo-expensify Can you please check the comment above?
aldo-expensify commentedon Nov 25, 2025
hmm, I'm understanding it is not certain that the functionality will be enabled again, if that is the case, maybe we should just close all this and pay for the work done. What do you think @cristipaval ?
cristipaval commentedon Nov 25, 2025
I don't think it makes sense to spend effort on those flows. We disabled them for unlimited time.
twisterdotcom commentedon Nov 25, 2025
Okay, if we're not recommending going ahead, let's close and pay out for anybody who has written a PR and anybody who has reviewed a PR anyway.
Pujan92 commentedon Nov 28, 2025
In that case, @twisterdotcom can you plz add a payment summary and close the issue?
twisterdotcom commentedon Nov 28, 2025
Payment Summary:
trjExpensify commentedon Dec 1, 2025
approved $250 for @Pujan92.
mkzie2 commentedon Jan 20, 2026
@twisterdotcom @trjExpensify Hi, my account is not eligible for NewDot payment yet. Please handle payment via the existing Upwork contract.
twisterdotcom commentedon Jan 20, 2026
Updated #71212 (comment)