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 2026-10-30] Web - Home tab renders in the background and slows opening reports #104081
On web, the Home tab continues rendering while another tab is active. Its For You, Your Spend, and Upcoming Travel sections subscribe to large Onyx collections, so opening a report from Spend triggers unnecessary background renders. According to the linked PR, this adds approximately 100ms to opening a report on a large Windows account.
Steps to reproduce
Open the web app with a large account and visit Home.
Switch to Spend and open an expense report.
Profile React rendering and observe Home sections rendering despite Home being hidden.
Expected behavior
Home should not render while another tab is focused. When returning to Home, it should display the latest data, and its initial loading spinner should continue working. Native behavior should remain unchanged.
Proposed fix
Wrap Home in the existing web FreezeWrapper, outside the lazy-load Suspense boundary, following the Search tab pattern. On web, freezeOnBlur currently hides the tab without stopping React renders.
Verify Home stops rendering while inactive, refreshes its data when revisited after approving or paying a report, and loads normally when navigating to Home after reloading on Spend. Repeat relevant navigation checks offline and verify there are no console errors. These checks are based on the PR; they have not been independently performed for this issue.
changed the title [-]Web - Home tab renders in the background and slows opening reports[/-][+][Due for payment 2026-10-30] Web - Home tab renders in the background and slows opening reports[/+]on Oct 23, 2026
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.18-1 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-10-30. 🎊
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]
[Contributor] The offending PR and associated issue have been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to the comment on the PR: N/A
Link to the comment on the Issue: N/A
[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:
[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.
Regression Test Proposal
Test:
Open the app on web and go to the Home tab. Note the data in For You, Your Spend and Upcoming Travel.
Go to the Spend tab and open any expense report.
Go back to the Home tab.
Verify Home looks the same as before.
On the Spend tab, approve or pay a report, then go back to Home. Verify the Your Spend totals and For You counts update.
Reload the app on the Spend tab (for example /search), then click the Home tab. Verify the loading spinner shows briefly and Home loads normally.
I'm assuming the above is correct cuz of the regression, also commented on the issue that was created from the regression and mentioned it shouldn't be due payment. @nkdengineer@mountiny comment here and/or there, if needeedf.
@mallenexpensify The original PR for this issue was deployed to production on Oct 23, and I'm not the author/C+ of this issue. My issue was reported in Slack here, and we created it as a normal issue. Should my issue be treated as a normal issue instead?
[Contributor] The offending PR and associated issue have been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to the comment on the PR:
Link to the comment on the Issue:
[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:
[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.
Regression Test Proposal
Precondition:
Web account with many reports, permission to approve/pay, Home chart data and an empty-state card; React profiling available.
Test:
Load Home, switch to Spend, and profile opening a report. Verify inactive Home sections do not render.
Approve/pay a report from Spend; return to Home and verify totals and counts refresh.
Switch Light ↔ Dark in Preferences; return to Home and verify all text uses the selected theme.
Hover a Home chart, click it, then visit Inbox. Verify no tooltip remains visible.
Reload on Spend, then open Home. Verify loading completes normally.
Repeat navigation offline and verify no console errors.
Suggested payment: Apply the 50% penalty per confirmed regression to @brunovjk’s review payment. Payment should remain on hold until seven days after all regression fixes reach production.
Activity
[-]Web - Home tab renders in the background and slows opening reports[/-][+][Due for payment 2026-10-30] Web - Home tab renders in the background and slows opening reports[/+]melvin-bot commentedon Oct 23, 2026
@brunovjk
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.5.18-1 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-10-30. 🎊
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]
melvin-bot commentedon Oct 26, 2026
@brunovjk Whoops! This issue is 2 days overdue. Let's get this updated quick!
brunovjk commentedon Oct 27, 2026
Contributor+ Checklist:
[Contributor] The offending PR and associated issue have been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to the comment on the PR: N/A
Link to the comment on the Issue: N/A
[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:
[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.
Regression Test Proposal
Test:
/search), then click the Home tab. Verify the loading spinner shows briefly and Home loads normally.Do we agree 👍 or 👎
7 remaining items
melvin-bot commentedon Oct 29, 2026
Triggered auto assignment to @mallenexpensify (
Awaiting Payment)melvin-bot commentedon Oct 29, 2026
Payment Summary
Resolving PRs:
Freeze Home tab in the background on web #104078
Contributor: @TMisiukiewicz does not require payment (Contractor)
Reviewer: @brunovjk owed $175 via NewDot
BugZero Checklist (@mallenexpensify)
mountiny commentedon Nov 2, 2026
@nkdengineer can you check if your fix to the theme change covered that regression?
nkdengineer commentedon Nov 2, 2026
@mountiny Yes, it's fixed in the adhoc build here
mountiny commentedon Nov 2, 2026
Thanks!
mallenexpensify commentedon Nov 3, 2026
Payment Summary
Contributor+: @brunovjk due $100 via NewDot
I'm assuming the above is correct cuz of the regression, also commented on the issue that was created from the regression and mentioned it shouldn't be due payment. @nkdengineer @mountiny comment here and/or there, if needeedf.
nkdengineer commentedon Nov 3, 2026
@mallenexpensify The original PR for this issue was deployed to production on Oct 23, and I'm not the author/C+ of this issue. My issue was reported in Slack here, and we created it as a normal issue. Should my issue be treated as a normal issue instead?
brunovjk commentedon Nov 3, 2026
Contributor+ Checklist:
[Contributor] The offending PR and associated issue have been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to the comment on the PR:
Link to the comment on the Issue:
[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:
[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.
Regression Test Proposal
Precondition:
Web account with many reports, permission to approve/pay, Home chart data and an empty-state card; React profiling available.
Test:
Do we agree 👍 or 👎
brunovjk commentedon Nov 3, 2026
Summary payment
Fix: #104078.
People involved: @TMisiukiewicz — author; @brunovjk — C+ reviewer.
Production deployment: Deployed on 2026-10-23, confirmed here. Deployment checklist.
Regressions and follow-ups: The fix introduced the theme regression, tracked in #105469; #105479 is in staging only through 2026-11-03. Related tooltip bug #105357 was fixed by #105388, deployed to production on 2026-11-02. No related reverts found.
Suggested payment: Apply the 50% penalty per confirmed regression to @brunovjk’s review payment. Payment should remain on hold until seven days after all regression fixes reach production.
cc: @mallenexpensify
mallenexpensify commentedon Nov 4, 2026
@brunovjk added to payment summary, @nkdengineer removed. Commented on the other issue @nkdengineer, you'll be paid on that
trjExpensify commentedon Nov 6, 2026
approved $100 for @brunovjk