Coming from https://expensify.slack.com/archives/C05LX9D6E07/p1749048372222309
Problem
Multiple components throughout the app independently filter the entire transaction collection using Onyx selectors to get transactions for specific reports, which causes significant performance overhead.
Solution
Create a centralized transactions computation that group transactions by report IDs and store it as derived value.
Results for creating an expense in an expense chat for 7k reports and 350 transactions: 8.2s → 5.9s (~30% improvement)
Issue Owner
Current Issue Owner: @RachCHopkins
Coming from https://expensify.slack.com/archives/C05LX9D6E07/p1749048372222309
Problem
Multiple components throughout the app independently filter the entire transaction collection using Onyx selectors to get transactions for specific reports, which causes significant performance overhead.
Solution
Create a centralized transactions computation that group transactions by report IDs and store it as derived value.
Results for creating an expense in an expense chat for 7k reports and 350 transactions: 8.2s → 5.9s (~30% improvement)
Issue Owner
Current Issue Owner: @RachCHopkins