Skip to content

Commit 73e2b18

Browse files
authored
Merge pull request Expensify#63324 from software-mansion-labs/organise-react-native-patches
[No QA] Organise `react-native` patches
2 parents a8a1e79 + bb395f4 commit 73e2b18

25 files changed

Lines changed: 171 additions & 0 deletions

patches/react-native/details.md

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
# `react-native` patches
2+
3+
### [react-native+0.79.2+001+initial.patch](react-native+0.79.2+001+initial.patch)
4+
5+
- Reason: Fixes keyboard flickering issue when opening/closing modals. When an input is blurred and a modal is opened, the `rootView` becomes the `firstResponder`, causing the system to retain an incorrect keyboard state. This leads to keyboard flickering when the modal is closed. The patch adds code to resign the `rootView`'s `firstResponder` status before presenting the modal to prevent this issue.
6+
- Upstream PR/issue: 🛑
7+
- E/App issue: 🛑
8+
- PR Introducing Patch: https://github.com/Expensify/App/pull/23994
9+
10+
### [react-native+0.79.2+002+fixMVCPAndroid.patch](react-native+0.79.2+002+fixMVCPAndroid.patch)
11+
12+
- Reason: Fixes content jumping issues with `MaintainVisibleContentPosition` on Android, particularly in bidirectional pagination scenarios. The patch makes two key improvements:
13+
1. Changes when the first visible view is calculated - now happens on scroll events instead of during Fabric's willMountItems lifecycle, which was causing incorrect updates
14+
2. Improves first visible view selection logic to handle Fabric's z-index-based view reordering by finding the view with the smallest position that's still greater than the scroll position
15+
- Upstream PR/issue: https://github.com/facebook/react-native/pull/46247
16+
- E/App issue: 🛑
17+
- PR Introducing Patch: https://github.com/Expensify/App/pull/46315 (introduced), https://github.com/Expensify/App/pull/45289 (refactored)
18+
19+
### [react-native+0.79.2+003+disableTextInputRecycling.patch](react-native+0.79.2+003+disableTextInputRecycling.patch)
20+
21+
- Reason: Disables text input recycling to prevent issues with state of recycled component
22+
- Upstream PR/issue: 🛑
23+
- E/App issue: 🛑
24+
- PR Introducing Patch: https://github.com/Expensify/App/pull/13767
25+
26+
### [react-native+0.79.2+004+iOSFontResolution.patch](react-native+0.79.2+004+iOSFontResolution.patch)
27+
28+
- Reason: Fixes font resolution issues on iOS by properly preserving font properties when loading fonts by name. When a font is loaded by its name, the patch now correctly extracts and uses its actual weight and style properties instead of ignoring them.
29+
- Upstream PR/issue: 🛑
30+
- E/App issue: 🛑
31+
- PR Introducing Patch: https://github.com/Expensify/App/pull/13767
32+
33+
### [react-native+0.79.2+005+resetAutoresizingOnView.patch](react-native+0.79.2+005+resetAutoresizingOnView.patch)
34+
35+
- Reason: This is a workaround fix for an issue with `UIPageViewController` and Fabric's view recycling system. The problem occurs because pager-view was incorrectly using a Fabric-provided view as its content-view. This is problematic because `UIPageViewController` modifies its content view, and when Fabric later recycles this modified view, it can lead to unexpected layout issues. The patch addresses this by resetting the autoresizing mask on the view to prevent layout corruption when views are recycled. The root cause should be addressed in react-native-pager-view: https://github.com/callstack/react-native-pager-view/issues/819
36+
- Upstream PR/issue: https://github.com/facebook/react-native/issues/42732
37+
- E/App issue: 🛑
38+
- PR Introducing Patch: https://github.com/Expensify/App/pull/13767
39+
40+
### [react-native+0.79.2+006+disableNonTranslucentStatusBar.patch](react-native+0.79.2+006+disableNonTranslucentStatusBar.patch)
41+
42+
- Reason: Disables non-translucent status bar to fix UI issues
43+
- Upstream PR/issue: 🛑
44+
- E/App issue: 🛑
45+
- PR Introducing Patch: 🛑
46+
47+
### [react-native+0.79.2+007+TextInput.patch](react-native+0.79.2+007+TextInput.patch)
48+
49+
- Reason: Fixes TextInput component issues
50+
- Upstream PR/issue: 🛑
51+
- E/App issue: 🛑
52+
- PR Introducing Patch: 🛑
53+
54+
### [react-native+0.79.2+008+iOSCoreAnimationBorderRendering.patch](react-native+0.79.2+008+iOSCoreAnimationBorderRendering.patch)
55+
56+
- Reason: Fixes border rendering issues with Core Animation on iOS
57+
- Upstream PR/issue: 🛑
58+
- E/App issue: 🛑
59+
- PR Introducing Patch: 🛑
60+
61+
### [react-native+0.79.2+009+copyStateOnClone.patch](react-native+0.79.2+009+copyStateOnClone.patch)
62+
63+
- Reason: Ensures state is properly copied when cloning components
64+
- Upstream PR/issue: 🛑
65+
- E/App issue: 🛑
66+
- PR Introducing Patch: 🛑
67+
68+
### [react-native+0.79.2+010+textinput-clear-command.patch](react-native+0.79.2+010+textinput-clear-command.patch)
69+
70+
- Reason: Adds clear command functionality to TextInput
71+
- Upstream PR/issue: 🛑
72+
- E/App issue: 🛑
73+
- PR Introducing Patch: 🛑
74+
75+
### [react-native+0.79.2+011+Add-onPaste-to-TextInput.patch](react-native+0.79.2+011+Add-onPaste-to-TextInput.patch)
76+
77+
- Reason: Adds onPaste event handler to TextInput component
78+
- Upstream PR/issue: 🛑
79+
- E/App issue: 🛑
80+
- PR Introducing Patch: 🛑
81+
82+
### [react-native+0.79.2+012+alert-style.patch](react-native+0.79.2+012+alert-style.patch)
83+
84+
- Reason: Fixes alert styling issues
85+
- Upstream PR/issue: 🛑
86+
- E/App issue: 🛑
87+
- PR Introducing Patch: 🛑
88+
89+
### [react-native+0.79.2+013+fixNavigationAnimations.patch](react-native+0.79.2+013+fixNavigationAnimations.patch)
90+
91+
- Reason: Fixes navigation animation issues
92+
- Upstream PR/issue: 🛑
93+
- E/App issue: 🛑
94+
- PR Introducing Patch: 🛑
95+
96+
### [react-native+0.79.2+014+fixScrollViewState.patch](react-native+0.79.2+014+fixScrollViewState.patch)
97+
98+
- Reason: Fixes ScrollView state management issues
99+
- Upstream PR/issue: 🛑
100+
- E/App issue: 🛑
101+
- PR Introducing Patch: 🛑
102+
103+
### [react-native+0.79.2+015+redactAppParameters.patch](react-native+0.79.2+015+redactAppParameters.patch)
104+
105+
- Reason: Adds redaction of sensitive app parameters
106+
- Upstream PR/issue: 🛑
107+
- E/App issue: 🛑
108+
- PR Introducing Patch: 🛑
109+
110+
### [react-native+0.79.2+016+android-keyboard-avoiding-view.patch](react-native+0.79.2+016+android-keyboard-avoiding-view.patch)
111+
112+
- Reason: Fixes keyboard avoiding view behavior on Android
113+
- Upstream PR/issue: 🛑
114+
- E/App issue: 🛑
115+
- PR Introducing Patch: 🛑
116+
117+
### [react-native+0.79.2+017+fix-mask-persisting-recycling.patch](react-native+0.79.2+017+fix-mask-persisting-recycling.patch)
118+
119+
- Reason: Fixes mask persisting and recycling issues
120+
- Upstream PR/issue: 🛑
121+
- E/App issue: 🛑
122+
- PR Introducing Patch: 🛑
123+
124+
### [react-native+0.79.2+018+fix-text-selecting-on-change.patch](react-native+0.79.2+018+fix-text-selecting-on-change.patch)
125+
126+
- Reason: Fixes text selection issues during onChange events
127+
- Upstream PR/issue: 🛑
128+
- E/App issue: 🛑
129+
- PR Introducing Patch: 🛑
130+
131+
### [react-native+0.79.2+019+fix-scroll-view-jump.patch](react-native+0.79.2+019+fix-scroll-view-jump.patch)
132+
133+
- Reason: Fixes ScrollView jumping issues
134+
- Upstream PR/issue: 🛑
135+
- E/App issue: 🛑
136+
- PR Introducing Patch: 🛑
137+
138+
### [react-native+0.79.2+020+fix-dropping-mutations-in-transactions.patch](react-native+0.79.2+020+fix-dropping-mutations-in-transactions.patch)
139+
140+
- Reason: Fixes issues with dropping mutations in transactions
141+
- Upstream PR/issue: 🛑
142+
- E/App issue: 🛑
143+
- PR Introducing Patch: 🛑
144+
145+
### [react-native+0.79.2+021+fix-crash-when-deleting-expense.patch](react-native+0.79.2+021+fix-crash-when-deleting-expense.patch)
146+
147+
- Reason: Fixes crash when deleting expenses
148+
- Upstream PR/issue: 🛑
149+
- E/App issue: 🛑
150+
- PR Introducing Patch: 🛑
151+
152+
### [react-native+0.79.2+022+fix-surface-stopped-before-started.patch](react-native+0.79.2+022+fix-surface-stopped-before-started.patch)
153+
154+
- Reason: Fixes surface lifecycle issues where surface is stopped before being started
155+
- Upstream PR/issue: 🛑
156+
- E/App issue: 🛑
157+
- PR Introducing Patch: 🛑
158+
159+
### [react-native+0.79.2+023+publish-gradle.patch](react-native+0.79.2+023+publish-gradle.patch)
160+
161+
- Reason: This patch customizes the Gradle publishing script to allow publishing our custom React Native artifacts to GitHub Packages.
162+
- Upstream PR/issue: 🛑
163+
- E/App issue: 🛑
164+
- PR Introducing Patch: https://github.com/Expensify/App/pull/59738
165+
166+
### [react-native+0.79.2+024+restore-old-line-height-algorithm.patch](react-native+0.79.2+024+restore-old-line-height-algorithm.patch)
167+
168+
- Reason: This patch fixes line height calculation issues in Android text rendering by replacing the web-based CSS implementation with a priority-based approach that properly handles cases where font metrics exceed the specified line height, ensuring better text display consistency and preventing text clipping
169+
- Upstream PR/issue: 🛑
170+
- E/App issue: 🛑
171+
- PR Introducing Patch: https://github.com/Expensify/App/pull/60421
File renamed without changes.

patches/react-native+0.79.2+002+fixMVCPAndroid.patch renamed to patches/react-native/react-native+0.79.2+002+fixMVCPAndroid.patch

File renamed without changes.

patches/react-native+0.79.2+003+disableTextInputRecycling.patch renamed to patches/react-native/react-native+0.79.2+003+disableTextInputRecycling.patch

File renamed without changes.

patches/react-native+0.79.2+004+iOSFontResolution.patch renamed to patches/react-native/react-native+0.79.2+004+iOSFontResolution.patch

File renamed without changes.

patches/react-native+0.79.2+005+resetAutoresizingOnView.patch renamed to patches/react-native/react-native+0.79.2+005+resetAutoresizingOnView.patch

File renamed without changes.

patches/react-native+0.79.2+006+disableNonTranslucentStatusBar.patch renamed to patches/react-native/react-native+0.79.2+006+disableNonTranslucentStatusBar.patch

File renamed without changes.

patches/react-native+0.79.2+007+TextInput.patch renamed to patches/react-native/react-native+0.79.2+007+TextInput.patch

File renamed without changes.

patches/react-native+0.79.2+008+iOSCoreAnimationBorderRendering.patch renamed to patches/react-native/react-native+0.79.2+008+iOSCoreAnimationBorderRendering.patch

File renamed without changes.

patches/react-native+0.79.2+009+copyStateOnClone.patch renamed to patches/react-native/react-native+0.79.2+009+copyStateOnClone.patch

File renamed without changes.

0 commit comments

Comments
 (0)