From 7bd447c6f008447da8daa0efd11c5dbdea70b147 Mon Sep 17 00:00:00 2001 From: dmkt9 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 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}