From 7bd447c6f008447da8daa0efd11c5dbdea70b147 Mon Sep 17 00:00:00 2001
From: dmkt9 <demoskratos9x@gmail.com>
Date: Thu, 24 Jul 2025 11:07:51 +0700
Subject: [PATCH 1/2] Fix - Email ID with emoji is allowed to proceed & emoji
 changes into random alphabets

---
 src/pages/signin/LoginForm/BaseLoginForm.tsx | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/pages/signin/LoginForm/BaseLoginForm.tsx b/src/pages/signin/LoginForm/BaseLoginForm.tsx
index c5a27af5fb42..735e69ee23b6 100644
--- a/src/pages/signin/LoginForm/BaseLoginForm.tsx
+++ b/src/pages/signin/LoginForm/BaseLoginForm.tsx
@@ -19,7 +19,7 @@ import useOnyx from '@hooks/useOnyx';
 import usePrevious from '@hooks/usePrevious';
 import useResponsiveLayout from '@hooks/useResponsiveLayout';
 import useThemeStyles from '@hooks/useThemeStyles';
-import {isMobileWebKit} from '@libs/Browser';
+import {isMobileChrome, isMobileWebKit} from '@libs/Browser';
 import canFocusInputOnScreenFocus from '@libs/canFocusInputOnScreenFocus';
 import {getLatestErrorMessage} from '@libs/ErrorUtils';
 import isInputAutoFilled from '@libs/isInputAutoFilled';
@@ -261,7 +261,8 @@ function BaseLoginForm({blurOnSubmit = false, isVisible}: BaseLoginFormProps, re
                     onSubmitEditing={validateAndSubmitForm}
                     autoCapitalize="none"
                     autoCorrect={false}
-                    inputMode={CONST.INPUT_MODE.EMAIL}
+                    inputMode={isMobileChrome() ? CONST.INPUT_MODE.TEXT : CONST.INPUT_MODE.EMAIL}
+                    keyboardType={isMobileChrome() ? 'email-address' : undefined}
                     errorText={formError ? translate(formError) : undefined}
                     hasError={shouldShowServerError}
                     maxLength={CONST.LOGIN_CHARACTER_LIMIT}

From 307d2bc2ed3575e6d8a19cac5b40a926612466c4 Mon Sep 17 00:00:00 2001
From: dmkt9 <demoskratos9x@gmail.com>
Date: Mon, 18 Aug 2025 22:19:51 +0700
Subject: [PATCH 2/2] update expensify-common to 2.0.159

---
 package-lock.json                            | 9 +++++----
 package.json                                 | 2 +-
 src/pages/signin/LoginForm/BaseLoginForm.tsx | 5 ++---
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 17c4b6cac969..bb8c5fbc8c7e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -59,7 +59,7 @@
         "date-fns-tz": "^3.2.0",
         "dom-serializer": "^0.2.2",
         "domhandler": "^4.3.0",
-        "expensify-common": "2.0.156",
+        "expensify-common": "2.0.159",
         "expo": "53.0.7",
         "expo-asset": "^11.1.2",
         "expo-av": "^15.1.5",
@@ -23745,9 +23745,9 @@
       }
     },
     "node_modules/expensify-common": {
-      "version": "2.0.156",
-      "resolved": "https://registry.npmjs.org/expensify-common/-/expensify-common-2.0.156.tgz",
-      "integrity": "sha512-NUTwpuaxEgQ1q9NOpuY3WlWsRTx9jx8pSCiFIcQdKs/WYd0xHmuwWhonL6ytEqW3HnYPRhvZ6BNfH/0BU6aefg==",
+      "version": "2.0.159",
+      "resolved": "https://registry.npmjs.org/expensify-common/-/expensify-common-2.0.159.tgz",
+      "integrity": "sha512-e2OuZ5eyRGGfuL7hu+WeLLu9grFV8dgLxtOj/Z6gsuC3eqqZje6Gj5mM7LH2/udpaXwJaA+ynbQdeYLGfAKsAA==",
       "license": "MIT",
       "dependencies": {
         "awesome-phonenumber": "^5.4.0",
@@ -23758,6 +23758,7 @@
         "localforage": "^1.10.0",
         "lodash": "4.17.21",
         "prop-types": "15.8.1",
+        "punycode": "2.3.1",
         "react": "16.12.0",
         "react-dom": "16.12.0",
         "semver": "^7.6.3",
diff --git a/package.json b/package.json
index d3011a09feb1..f6a068400d06 100644
--- a/package.json
+++ b/package.json
@@ -129,7 +129,7 @@
     "date-fns-tz": "^3.2.0",
     "dom-serializer": "^0.2.2",
     "domhandler": "^4.3.0",
-    "expensify-common": "2.0.156",
+    "expensify-common": "2.0.159",
     "expo": "53.0.7",
     "expo-asset": "^11.1.2",
     "expo-av": "^15.1.5",
diff --git a/src/pages/signin/LoginForm/BaseLoginForm.tsx b/src/pages/signin/LoginForm/BaseLoginForm.tsx
index c86b93ea0a73..0975fb9a224e 100644
--- a/src/pages/signin/LoginForm/BaseLoginForm.tsx
+++ b/src/pages/signin/LoginForm/BaseLoginForm.tsx
@@ -18,7 +18,7 @@ import useOnyx from '@hooks/useOnyx';
 import usePrevious from '@hooks/usePrevious';
 import useResponsiveLayout from '@hooks/useResponsiveLayout';
 import useThemeStyles from '@hooks/useThemeStyles';
-import {isMobileChrome, isMobileWebKit} from '@libs/Browser';
+import {isMobileWebKit} from '@libs/Browser';
 import canFocusInputOnScreenFocus from '@libs/canFocusInputOnScreenFocus';
 import {getLatestErrorMessage} from '@libs/ErrorUtils';
 import isInputAutoFilled from '@libs/isInputAutoFilled';
@@ -259,8 +259,7 @@ function BaseLoginForm({blurOnSubmit = false, isVisible, ref}: BaseLoginFormProp
                     onSubmitEditing={validateAndSubmitForm}
                     autoCapitalize="none"
                     autoCorrect={false}
-                    inputMode={isMobileChrome() ? CONST.INPUT_MODE.TEXT : CONST.INPUT_MODE.EMAIL}
-                    keyboardType={isMobileChrome() ? 'email-address' : undefined}
+                    inputMode={CONST.INPUT_MODE.EMAIL}
                     errorText={formError ? translate(formError) : undefined}
                     hasError={shouldShowServerError}
                     maxLength={CONST.LOGIN_CHARACTER_LIMIT}
