Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
d2698c2
fix: set focus timeout for isScreenTransitionEnded after interactions…
rohit9625 Aug 26, 2025
556bffe
Revert "fix: set focus timeout for isScreenTransitionEnded after inte…
rohit9625 Aug 27, 2025
2e14a79
fix: set isScreenTransitionEnded after all interactions completed
rohit9625 Aug 27, 2025
72ab818
Merge branch 'Expensify:main' into fix/keyboard-not-open
rohit9625 Aug 27, 2025
e8697cf
Merge branch 'Expensify:main' into fix/keyboard-not-open
rohit9625 Aug 28, 2025
9f02e44
fix(react-native): show soft keyboard reliably on Android
rohit9625 Aug 28, 2025
fb407e9
Revert "fix(react-native): show soft keyboard reliably on Android"
rohit9625 Aug 28, 2025
317a6b2
fix(react-native): show software keyboard reliably on android
rohit9625 Aug 28, 2025
abecd8b
fix: use autoFocus to handle focus for status message text input
rohit9625 Aug 29, 2025
1566e5e
Merge branch 'Expensify:main' into fix/keyboard-not-open
rohit9625 Aug 30, 2025
47c2ac0
Revert "fix: use autoFocus to handle focus for status message text in…
rohit9625 Aug 30, 2025
ac0b36d
fix(react-native): update patch to show keyboard programmatically
rohit9625 Aug 30, 2025
2a7eed2
Merge branch 'Expensify:main' into fix/keyboard-not-open
rohit9625 Sep 1, 2025
fdd439d
Merge branch 'Expensify:main' into fix/keyboard-not-open
rohit9625 Sep 2, 2025
a124bf9
Merge branch 'main' into fix/keyboard-not-open
rohit9625 Sep 12, 2025
1bc2bec
refactor(patches/rn): remove autoFocus handling in onWindowFocus
rohit9625 Sep 12, 2025
17fbc3a
chore(patches/rn): add description for latest react-native patch
rohit9625 Sep 13, 2025
2061573
Merge branch 'Expensify:main' into fix/keyboard-not-open
rohit9625 Sep 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions patches/react-native/details.md
Original file line number Diff line number Diff line change
Expand Up @@ -199,3 +199,10 @@
- Upstream PR/issue: 🛑
- E/App issue: [#69005](https://github.com/Expensify/App/issues/69005)
- PR introducing patch: [#69004](https://github.com/Expensify/App/pull/69004)

### [react-native+0.79.2+029+show-android-soft-keyboard-reliably.patch](react-native+0.79.2+029+show-android-soft-keyboard-reliably.patch)

- Reason: Fixes an Android issue where the soft keyboard often failed to appear because TextInput requested it before its parent View was fully focused. The patch delays the request until focus is ready, ensuring the keyboard shows reliably without extra workarounds.
- Upstream PR/issue: 🛑
- E/App issue: [#69005](https://github.com/Expensify/App/issues/67201)
- PR introducing patch: [#69004](https://github.com/Expensify/App/pull/69265)
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java
index 095313e..766630a 100644
--- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java
+++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java
@@ -136,6 +136,7 @@ public class ReactEditText extends AppCompatEditText {
private int mFontWeight = ReactConstants.UNSET;
private int mFontStyle = ReactConstants.UNSET;
private boolean mAutoFocus = false;
+ private boolean mShowKeyboardDelayed = false;
private boolean mContextMenuHidden = false;
private boolean mDidAttachToWindow = false;
private boolean mSelectTextOnFocus = false;
@@ -424,7 +425,8 @@ public class ReactEditText extends AppCompatEditText {
private boolean requestFocusProgramatically() {
boolean focused = super.requestFocus(View.FOCUS_DOWN, null);
if (isInTouchMode() && getShowSoftInputOnFocus()) {
- showSoftKeyboard();
+ mShowKeyboardDelayed = true;
+ showSoftKeyboardReliably();
}

return focused;
@@ -1164,6 +1166,24 @@ public class ReactEditText extends AppCompatEditText {
mDidAttachToWindow = true;
}

+ @Override
+ public void onWindowFocusChanged(boolean hasWindowFocus) {
+ super.onWindowFocusChanged(hasWindowFocus);
+
+ showSoftKeyboardReliably();
+ }
+
+ private void showSoftKeyboardReliably() {
+ if(hasWindowFocus() && mShowKeyboardDelayed) {
+ if(isFocused()) {
+ post(() -> {
+ showSoftKeyboard();
+ });
+ }
+ mShowKeyboardDelayed = false;
+ }
+ }
+
@Override
public void onFinishTemporaryDetach() {
super.onFinishTemporaryDetach();