diff --git a/android/app/build.gradle b/android/app/build.gradle index d4f160e96d00..dec765eda1fa 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,8 +148,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001005602 - versionName "1.0.56-2" + versionCode 1001005603 + versionName "1.0.56-3" } splits { abi { diff --git a/ios/ExpensifyCash/Info.plist b/ios/ExpensifyCash/Info.plist index 0e88c519871d..725ddee0124b 100644 --- a/ios/ExpensifyCash/Info.plist +++ b/ios/ExpensifyCash/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.56.2 + 1.0.56.3 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/ExpensifyCashTests/Info.plist b/ios/ExpensifyCashTests/Info.plist index 40bf240325cf..9078ebed0411 100644 --- a/ios/ExpensifyCashTests/Info.plist +++ b/ios/ExpensifyCashTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.56.2 + 1.0.56.3 diff --git a/package-lock.json b/package-lock.json index 22cb46cf86ec..8967313881c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.56-2", + "version": "1.0.56-3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 887ff9bde295..43bc27085f1c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "expensify.cash", - "version": "1.0.56-2", + "version": "1.0.56-3", "author": "Expensify, Inc.", "homepage": "https://expensify.cash", "description": "Expensify.cash is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", diff --git a/src/libs/getEmailKeyboardType/index.js b/src/libs/getEmailKeyboardType/index.js new file mode 100644 index 000000000000..9d77eb437853 --- /dev/null +++ b/src/libs/getEmailKeyboardType/index.js @@ -0,0 +1,6 @@ + +/** + * Return the default keyboard type when running on Web/Desktop + * @return {String} + */ +export default () => 'default'; diff --git a/src/libs/getEmailKeyboardType/index.native.js b/src/libs/getEmailKeyboardType/index.native.js new file mode 100644 index 000000000000..5f599436c8ae --- /dev/null +++ b/src/libs/getEmailKeyboardType/index.native.js @@ -0,0 +1,6 @@ + +/** + * Return the email-address keyboard type when running on native platforms. + * @return {String} + */ +export default () => 'email-address'; diff --git a/src/pages/signin/LoginForm.js b/src/pages/signin/LoginForm.js index 45acc8f69a08..480ea8755319 100755 --- a/src/pages/signin/LoginForm.js +++ b/src/pages/signin/LoginForm.js @@ -16,6 +16,7 @@ import withWindowDimensions, {windowDimensionsPropTypes} from '../../components/ import compose from '../../libs/compose'; import canFocusInputOnScreenFocus from '../../libs/canFocusInputOnScreenFocus'; import withLocalize, {withLocalizePropTypes} from '../../components/withLocalize'; +import getEmailKeyboardType from '../../libs/getEmailKeyboardType'; const propTypes = { /* Onyx Props */ @@ -83,6 +84,8 @@ class LoginForm extends React.Component { onChangeText={text => this.setState({login: text})} onSubmitEditing={this.validateAndSubmitForm} autoCapitalize="none" + autoCorrect="off" + keyboardType={getEmailKeyboardType()} placeholder={this.props.translate('loginForm.phoneOrEmail')} placeholderTextColor={themeColors.placeholderText} autoFocus={canFocusInputOnScreenFocus()}