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()}