Skip to content

[Due for payment 2026-05-25] Perf: split ExpenseReportListItemRow, defer ActionCell, extract Avatar (PR #89083) #89100

Description

@luacmartins

Goal

Improve perceived performance on web for large Spend/Reports lists by splitting row implementation by viewport and deferring heavy action UI.

Changes

  • Split ExpenseReportListItemRow.tsx into a thin dispatcher that renders ExpenseReportListItemRowWide (table layout) or ExpenseReportListItemRowNarrow (mobile layout) so each viewport loads only the code and dependencies it needs.
  • Extract the avatar into a memoized ExpenseReportListItemAvatar.
  • Add DeferredActionCell: shows a skeleton on first paint, then swaps in the real ActionCell after a transition so initial render stays responsive for large lists.

Offline: same as above where applicable.

Issue OwnerCurrent Issue Owner: @DylanDylann
Issue OwnerCurrent Issue Owner: @DylanDylann

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionDailyKSv2

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