Problem
On iOS, duplicating more than 15 reports containing 50+ expenses each crashes app.
Related issue: #98970
Why is this important?
Large batch report duplication crashes iOS app. Root cause differs from crash reported on web in #98970.
Solution
Patch React Native RCTViewComponentView to resolve currentContainerView before reading child superview in unmountChildComponentView:index:. Reading currentContainerView can migrate existing subviews when custom container usage changes, making assertion compare hierarchy from different states.
Reproduction
Precondition: create several reports with 50+ expenses each.
- Open
staging.new.expensify on iOS.
- Go to Spend > Reports.
- Select more than 15 prepared reports.
- Duplicate reports.
Expected: reports duplicate.
Actual: iOS app crashes.
Context: https://expensify.slack.com/archives/C01GTK53T8Q/p1788247737403139
cc @mukhrr @nkdengineer
Issue Owner
Current Issue Owner: @mallenexpensify
Issue Owner
Current Issue Owner: @mukhrr
Problem
On iOS, duplicating more than 15 reports containing 50+ expenses each crashes app.
Related issue: #98970
Why is this important?
Large batch report duplication crashes iOS app. Root cause differs from crash reported on web in #98970.
Solution
Patch React Native
RCTViewComponentViewto resolvecurrentContainerViewbefore reading childsuperviewinunmountChildComponentView:index:. ReadingcurrentContainerViewcan migrate existing subviews when custom container usage changes, making assertion compare hierarchy from different states.Reproduction
Precondition: create several reports with 50+ expenses each.
staging.new.expensifyon iOS.Expected: reports duplicate.
Actual: iOS app crashes.
Context: https://expensify.slack.com/archives/C01GTK53T8Q/p1788247737403139
cc @mukhrr @nkdengineer
Issue Owner
Current Issue Owner: @mallenexpensifyIssue Owner
Current Issue Owner: @mukhrr