Skip to content

[Due for payment 2026-05-26] Decompose IOURequestStepConfirmation for Create Expense performance #86986

Description

@Julesssss

Sub-issue of #81849, coming from here.

Comment related to this task.

Task

IOURequestStepConfirmation is ~1700 lines with 41 Onyx subscriptions handling 8 submission flows. 58% of those subscriptions are only accessed on confirm press, causing unnecessary re-renders throughout the Create Expense flow.

  • Extract side-effect hooks into renderless components
  • Move callback-only subscriptions behind refs
  • Split into focused variant components per submission type

Initial PR here: #86865

Issue OwnerCurrent Issue Owner: @mallenexpensify

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionDailyKSv2EngineeringInternalRequires API changes or must be handled by Expensify staff

Type

No type

Fields

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