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-05-07] [Due for payment 2025-10-31] [Due for payment 2025-10-27] Audit Memory Leaks #63979
Some third party libraries used in App (like RNPerformance or Airship) set up app lifecycle listeners. Failure to cleanup these listeners on React Native instance destruction results in memory leaks (memory was allocated for the listeners but never released). Memory leaks can result in reduced performance and degraded app responsiveness over time.
Problem:
When navigating between OD and ND or reloading the Expensify App, many global listeners leak through RN instance destruction, which degrades app performance.
Solution:
We should:
Conduct a comprehensive audit of the app to find all the memory leaks we can. This includes profiling the app in different scenarios (reloading, navigating) to pinpoint exactly where leaks occur.
Implement fixes for each identified issue incrementally.
(optional) After solving all leaking scenarios, repeat the audit in 6 months to ensure no new memory leaks have been introduced.
@WoLewicki I think you could start with running memory profiling across the main flows and we'll gradually expand from there. If you find anything suspicious, I'll create separate issues for these items.
I will try to post in the coming days some of the issues I found on simply reloading the application after start-up without further navigation as those should be handled first.
changed the title [-][Due for payment 2025-10-27] Audit Memory Leaks[/-][+][Due for payment 2025-10-31] [Due for payment 2025-10-27] Audit Memory Leaks[/+]on Oct 24, 2025
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.2.37-8 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:
@jjcoffee@twisterdotcom 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]
changed the title [-][Due for payment 2025-10-31] [Due for payment 2025-10-27] Audit Memory Leaks[/-][+][Due for payment 2026-05-07] [Due for payment 2025-10-31] [Due for payment 2025-10-27] Audit Memory Leaks[/+]on Apr 30, 2026
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.3.64-31 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:
@jjcoffee 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]
Activity
melvin-bot commentedon Jun 11, 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.[-]Proposal - Audit Memory Leaks[/-][+]Audit Memory Leaks[/+]melvin-bot commentedon Jun 11, 2025
Current assignee @mjasikowski is eligible for the AutoAssignerNewDotQuality assigner, not assigning anyone new.
mountiny commentedon Jun 11, 2025
@mjasikowski will help move this ahead @WoLewicki
mjasikowski commentedon Jun 11, 2025
@WoLewicki I think you could start with running memory profiling across the main flows and we'll gradually expand from there. If you find anything suspicious, I'll create separate issues for these items.
melvin-bot commentedon Jun 17, 2025
@WoLewicki Huh... This is 4 days overdue. Who can take care of this?
mjasikowski commentedon Jun 17, 2025
@WoLewicki any progress here? Do you have an ETA for when this can be handled?
WoLewicki commentedon Jun 17, 2025
I will try to post in the coming days some of the issues I found on simply reloading the application after start-up without further navigation as those should be handled first.
121 remaining items
[-][Due for payment 2025-10-27] Audit Memory Leaks[/-][+][Due for payment 2025-10-31] [Due for payment 2025-10-27] Audit Memory Leaks[/+]melvin-bot commentedon Oct 24, 2025
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.2.37-8 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:
react-native-localize#72447If no regressions arise, payment will be issued on 2025-10-31. 🎊
For reference, here are some details about the assignees on this issue:
melvin-bot commentedon Oct 24, 2025
@jjcoffee @twisterdotcom 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]
jjcoffee commentedon Oct 27, 2025
Just to note the PR I reviewed (#72341) is due payment today. cc @twisterdotcom
twisterdotcom commentedon Oct 27, 2025
Payment Summary:
trjExpensify commentedon Oct 29, 2025
approved $250 for @jjcoffee
[-][Due for payment 2025-10-31] [Due for payment 2025-10-27] Audit Memory Leaks[/-][+][Due for payment 2026-05-07] [Due for payment 2025-10-31] [Due for payment 2025-10-27] Audit Memory Leaks[/+]melvin-bot commentedon Apr 30, 2026
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.3.64-31 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:
3.0.63to fix memory leaks and other issues in NitroSQLite and Nitro #84517If no regressions arise, payment will be issued on 2026-05-07. 🎊
For reference, here are some details about the assignees on this issue:
melvin-bot commentedon Apr 30, 2026
@jjcoffee 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]
jjcoffee commentedon May 1, 2026
I've already been paid here 😄
linhvovan29546 commentedon May 4, 2026
Checklist: The fix PR for this issue (https://github.com/Expensify/Mobile-Expensify/pull/13656) introduced a regression #79386 caused the Android app to get stuck on a splash screen when reopened via quick actions. We’ve applied the fix here https://github.com/Expensify/Mobile-Expensify/pull/13905