Skip to content

[Due for payment 2026-08-31] Android - Workspace chat opens briefly after opening expense from growl and splitting expense #99249

Closed

Description

@applause-bot

If you haven’t already, check out our contributing guidelines for onboarding. To join our Slack channel, fill out this form.


Version Number: 9.4.59-0
Reproducible in staging?: Yes
Reproducible in production?: N/A - new feature, doesn't exist in prod
If this was caught during regression testing, add the test name, ID and link from BrowserStack: #96496
Email or phone of affected tester (no customers): [email protected]
Issue reported by: Applause Internal Team
Bug source: Exploratory - Significant User Experience Deterioration
Device used: Samsung Galaxy S25 FE / Android 16
App Component: Money Requests

Action Performed:

  1. Launch Expensify app.
  2. Go to Inbox.
  3. Create an expense from FAB.
  4. Tap View on Expense added growl.
  5. Tap More > Split > Save.

Expected Result:

App will not return to workspace chat after opening expense from growl and splitting expense.

Actual Result:

Workspace chat opens briefly after opening expense from growl and splitting expense.

Workaround:

Unknown

Platforms:

  • Android: App
  • Android: mWeb Chrome
  • iOS: App
  • iOS: mWeb Safari
  • iOS: mWeb Chrome
  • Windows: Chrome
  • MacOS: Chrome Safari

Screenshots/Videos

Bug7239795_1787371236775.Screen_Recording_20260822_115803_Expensify.mp4

View all open jobs on GitHub

Applause Internal Information
Exported by: Mita Rachim
Bug ID: 7239795

Issue OwnerCurrent Issue Owner: @situchan

Activity

  1. applause-bot commented on Aug 22, 2026

    @applause-bot
    Author

    While Applause doesn't embed attachments for this bug, here are the links for quick view:
    https://platform.applause.com/services/links/v1/external/6abe7fea88c396ecc8fe15515e54ae3f3998104148e97a7802c59a4f76df502f

  2. added
    DeployBlockerCashThis issue or pull request should block deployment
    BugSomething is broken. Auto assigns a BugZero manager.
    on Aug 22, 2026
  3. melvin-bot commented on Aug 22, 2026

    @melvin-bot

    @mountiny recently merged #96496, but they are OOO right now, so I'll auto-assign someone else.

  4. melvin-bot commented on Aug 22, 2026

    @melvin-bot

    Triggered auto assignment to @arosiclair (DeployBlockerCash), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.

  5. github-actions commented on Aug 22, 2026

    @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.
  6. melvin-bot commented on Aug 22, 2026

    @melvin-bot

    @mountiny @situchan you have been assigned to this deploy blocker because you reviewed the offending PR: #96496

  7. melvin-bot commented on Aug 22, 2026

    @melvin-bot

    @mhawryluk you have been assigned to this deploy blocker because you authored the offending PR: #96496

  8. 4 remaining items

  9. added and removed
    DeployBlockerCashThis issue or pull request should block deployment
    on Aug 24, 2026
  10. changed the title [-]Android - Workspace chat opens briefly after opening expense from growl and splitting expense[/-] [+][Due for payment 2026-08-31] Android - Workspace chat opens briefly after opening expense from growl and splitting expense[/+] on Aug 24, 2026
  11. melvin-bot commented on Aug 24, 2026

    @melvin-bot

    @situchan

    The solution for this issue has been 🚀 deployed to production 🚀 in version 9.4.59-5 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 2026-08-31. 🎊

    The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the Contributor+ 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]. If no checklist is needed for this issue, you can click: [no checklist button]

  12. melvin-bot commented on Aug 27, 2026

    @melvin-bot

    @situchan Whoops! This issue is 2 days overdue. Let's get this updated quick!

  13. situchan commented on Oct 4, 2026

    @situchan
    Contributor

    This is not regression from #96496. The root cause existed in production.

    The popReportsSplitNavigatorToReport → dismissModalWithReport → requestAnimationFrame(removeScreenByKey) sequence is verbatim:

    popReportsSplitNavigatorToReport(targetReportID);
    Navigation.dismissModalWithReport({reportID: targetReportID});
    requestAnimationFrame(() => {
    updateSplitTransactions({...params, isFromSplitExpensesFlow: true});
    if (!transactionThreadReportScreen?.key) {
    return;
    }
    Navigation.removeScreenByKey(transactionThreadReportScreen.key);
    });

    The fix (in #100015) was to add shouldReplaceTransactionThread to that pre-existing block.

    cc: @MelvinBot

  14. MelvinBot commented on Oct 4, 2026

    @MelvinBot
    Contributor

    You're right. My earlier comment blamed Confirm new expenses with a “View” toast instead of scrolling to and highlighting the row too strongly.

    The first PR only added a new way to reach that state. On narrow layouts, tapping View on the growl opens the transaction thread with no expense report beneath it (navigateAfterExpenseCreate.ts:106-108). That explains why the bug first appeared on staging. I didn't check for another production path that reaches the same state. Either way, the faulty code existed before that PR.


    view run

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.DailyKSv2Engineering

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions