1.7 KiB
This second part of this patch is load bearing, do not remove.
RefreshControl Patch - iOS 17.4 Haptic Regression
Patching RCTRefreshControl.mm temporarily to play an impact haptic on refresh when using iOS 17.4 or higher. Since
17.4, there has been a regression somewhere causing haptics to not play on iOS on refresh. Should monitor for an update
in the RN repo: https://github.com/facebook/react-native/issues/43388
RefreshControl Path - ScrollForwarder
Patching RCTRefreshControl.m and RCTRefreshControl.h to add a new forwarderBeginRefreshing method to the class.
This method is used by ExpoScrollForwarder to initiate a refresh of the underlying UIScrollView from inside that
module.
RCTPullToRefreshViewComponentView.mm Patch - RefreshControl initial props dropped on New Arch
TODO: Remove after bumping React Native to 0.82+ (fixed upstream by facebook/react-native#52615, #52584 and #53231).
On Fabric, updateProps diffs against _props, but the initial-layout replay in layoutSubviews passes
_props as the new props too, so the diff is a no-op and tintColor/progressViewOffset/title are never
applied on mount. This hides the pull-to-refresh spinner behind the floating home header (it stays at offset
0 instead of headerOffset). We diff against the oldProps argument instead, null-guarded with default
props for the create-mutation path.
Issue: https://github.com/facebook/react-native/issues/56343
RCTTextLayoutManager.mm Patch - Text overflows instead of wrapping on the last line
Issue: https://github.com/react/react-native/issues/53450#issuecomment-3298157830 Bandaid fix taken from: https://github.com/react/react-native/commit/581d643a9e59fd88f93757f80194e1efd11bd0e5