5e110d2776
Summary: @public {D1953613} added an optimization that allowed for shadow nodes that are not backed by views, but didn't actually work robustly in the remove case because the indices can get out of sync. That diff also started returning nil for raw text nodes, which triggered this bug and broke "see more" functionality in the `FBTextWithEntities` and `ExpandingText` components, leading to crashes in the Groups app. This diff fixes the issue by simply returning `UIView` placeholders again. Slight perf/ memory cost but no more crashes and there should be no other adverse affects. We'll need to think up something more clever in order to properly support `nil` views in the future, probably something that uses the shadow hierarchy to build the View hierarchy, rather than mirroring identical commands to both - see #1102. Test Plan: - TextUpdateTest fails without native changes, now passes with them. - ExpandingText example no longer crashes. - See More in Groups app no longer crashes. |
||
---|---|---|
.. | ||
RCTText.xcodeproj | ||
RCTRawTextManager.h | ||
RCTRawTextManager.m | ||
RCTShadowRawText.h | ||
RCTShadowRawText.m | ||
RCTShadowText.h | ||
RCTShadowText.m | ||
RCTText.h | ||
RCTText.m | ||
RCTTextManager.h | ||
RCTTextManager.m | ||
RCTTextView.h | ||
RCTTextView.m | ||
RCTTextViewManager.h | ||
RCTTextViewManager.m | ||
Text.js | ||
TextStylePropTypes.js | ||
TextUpdateTest.js |