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] [Due for payment 2025-09-17] Reduce useOnyx calls on list-item level in TransactionItemRowRBRWithOnyx. #67165
The transaction list displays many items per report, each rendering with related data like violations. These components rely on hooks to fetch the data required for each item.
Problem:
When each transaction item makes multiple data subscriptions via useTransactionViolations hook, it causes excessive re-renders and slowness in large transaction lists.
Solution:
Move violation data fetching to the parent transaction list component using useReportWithTransactionsAndViolations, which performs a single shared subscription. Pass the resulting violation data down as props to child components like TransactionItemRowRBRWithOnyx and MoneyRequestHeader. This pattern reduces subscriptions from N×4 per report to 1, significantly improving rendering performance while preserving all existing functionality.
changed the title [-][HOLD https://github.com/Expensify/App/issues/63672] Reduce useOnyx calls on list-item level in TransactionItemRowRBRWithOnyx.[/-][+]Reduce useOnyx calls on list-item level in TransactionItemRowRBRWithOnyx.[/+]on Aug 5, 2025
@dukenv0307@johncschuster 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 Jul 25, 2025
Triggered auto assignment to @johncschuster (
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.melvin-bot commentedon Jul 28, 2025
@martasudol Whoops! This issue is 2 days overdue. Let's get this updated quick!
melvin-bot commentedon Aug 1, 2025
@martasudol 6 days overdue. This is scarier than being forced to listen to Vogon poetry!
mountiny commentedon Aug 2, 2025
Still on hold, should be ready next week 🙌
[-][HOLD https://github.com/Expensify/App/issues/63672] Reduce useOnyx calls on list-item level in TransactionItemRowRBRWithOnyx.[/-][+]Reduce useOnyx calls on list-item level in TransactionItemRowRBRWithOnyx.[/+]mountiny commentedon Aug 5, 2025
@martasudol not on hold anymore!
melvin-bot commentedon Aug 5, 2025
@martasudol 10 days overdue. Is anyone even seeing these? Hello?
53 remaining items
melvin-bot commentedon Sep 12, 2025
@dukenv0307 @johncschuster 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]
melvin-bot commentedon Sep 17, 2025
Triggered auto assignment to @joekaufmanexpensify (
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.johncschuster commentedon Sep 17, 2025
@joekaufmanexpensify I've paused my BZ assignments so I can focus my efforts on our churn project. Can you take this the rest of the way?
joekaufmanexpensify commentedon Sep 17, 2025
Discussing payment because of multiple deploy blockers
joekaufmanexpensify commentedon Sep 17, 2025
We discussed in slack and settled on $125 for @dukenv0307 given the regression(s) here.
joekaufmanexpensify commentedon Sep 17, 2025
Payment Summary
joekaufmanexpensify commentedon Sep 17, 2025
@dukenv0307 please request payment at your earliest convenience. Closing as this is otherwise all set!
quinthar commentedon Oct 12, 2025
Approved $125 to @dukenv0307