Skip to content

[Due for payment 2025-07-25] [Due for payment 2025-07-18] Improve performance of loading report transactions across components #64163

@TMisiukiewicz

Description

@TMisiukiewicz

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 OwnerCurrent Issue Owner: @RachCHopkins

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionBugSomething is broken. Auto assigns a BugZero manager.DailyKSv2

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions