diff --git a/android/app/build.gradle b/android/app/build.gradle
index c90ef81ae2bf..afe12eaac310 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -152,8 +152,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
- versionCode 1001014600
- versionName "1.1.46-0"
+ versionCode 1001014601
+ versionName "1.1.46-1"
}
splits {
abi {
diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist
index 367919e8dacb..1b63ca0115ff 100644
--- a/ios/NewExpensify/Info.plist
+++ b/ios/NewExpensify/Info.plist
@@ -30,7 +30,7 @@
CFBundleVersion
- 1.1.46.0
+ 1.1.46.1
ITSAppUsesNonExemptEncryption
LSApplicationQueriesSchemes
diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist
index 204054a1c2e6..ea036e57b69c 100644
--- a/ios/NewExpensifyTests/Info.plist
+++ b/ios/NewExpensifyTests/Info.plist
@@ -19,6 +19,6 @@
CFBundleSignature
????
CFBundleVersion
- 1.1.46.0
+ 1.1.46.1
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index 5fab81d28dc2..0fc3c23c1cf5 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -443,7 +443,7 @@ PODS:
- React-Core
- react-native-flipper (0.117.0):
- React-Core
- - react-native-image-picker (4.1.2):
+ - react-native-image-picker (4.7.3):
- React-Core
- react-native-netinfo (8.0.0):
- React-Core
@@ -933,7 +933,7 @@ SPEC CHECKSUMS:
react-native-config: 6502b1879f97ed5ac570a029961fc35ea606cd14
react-native-document-picker: 772d04a4bc5c35da9abe27b08ac271420ae3f9ef
react-native-flipper: cd9eabd8917104c1bbdca2621717cdca3b2addef
- react-native-image-picker: f45729c43d4f854508ab25c0d0f0f711a2a8a267
+ react-native-image-picker: ae1202414bd5c37c00b2a701daa5b6194a06b7d9
react-native-netinfo: 0124c0695373fce63cea24aeebb97ab2d237947a
react-native-pdf: 4b5a9e4465a6a3b399e91dc4838eb44ddf716d1f
react-native-performance: 8edfa2bbc9a2af4a02f01d342118e413a95145e0
@@ -979,4 +979,4 @@ SPEC CHECKSUMS:
PODFILE CHECKSUM: 1199d07d3ccd1ea23300ad9e27bc9287716223bf
-COCOAPODS: 1.10.1
+COCOAPODS: 1.11.2
diff --git a/package-lock.json b/package-lock.json
index 0f1f200a5ac5..2b9cdda95622 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "new.expensify",
- "version": "1.1.46-0",
+ "version": "1.1.46-1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -36490,9 +36490,9 @@
"integrity": "sha512-BF66XeP6dzuANsPmmFsJshM2Jyh/Mo1t8FsGc1L9Q9/sVP8MJULDabB1hms+eAoqgtyhMr5BuXV3E1hJ5U5H6Q=="
},
"react-native-image-picker": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/react-native-image-picker/-/react-native-image-picker-4.1.2.tgz",
- "integrity": "sha512-e4frAekSJkOgEmL9UOLukGhjtPwHSD7qSf3Rmwk+850ofxKqZFfAIfWc9MO3UmCb6G7oB6PkckyTOGOXybrN5A=="
+ "version": "4.7.3",
+ "resolved": "https://registry.npmjs.org/react-native-image-picker/-/react-native-image-picker-4.7.3.tgz",
+ "integrity": "sha512-eRKm4wlsmZHmsWFyv77kYc2F+ZyEVqe0m7mqhsMzWk6TQT4FBDtEDxmRDDFq+ivCu/1QD+EPhmYcAIpeGr7Ekg=="
},
"react-native-image-size": {
"version": "1.1.3",
diff --git a/package.json b/package.json
index f4fc3812c2b6..2694dcf08d73 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "new.expensify",
- "version": "1.1.46-0",
+ "version": "1.1.46-1",
"author": "Expensify, Inc.",
"homepage": "https://new.expensify.com",
"description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.",
@@ -84,7 +84,7 @@
"react-native-google-places-autocomplete": "git+https://github.com/Expensify/react-native-google-places-autocomplete.git#3bbd17d63e6c38d38d857b50f6037c1c0376ff06",
"react-native-haptic-feedback": "^1.13.0",
"react-native-image-pan-zoom": "^2.1.12",
- "react-native-image-picker": "^4.1.2",
+ "react-native-image-picker": "^4.7.3",
"react-native-image-size": "^1.1.3",
"react-native-keyboard-spacer": "^0.4.1",
"react-native-modal": "^13.0.0",
diff --git a/src/components/AttachmentPicker/index.native.js b/src/components/AttachmentPicker/index.native.js
index ef21eca8e61e..d79c9da17f96 100644
--- a/src/components/AttachmentPicker/index.native.js
+++ b/src/components/AttachmentPicker/index.native.js
@@ -32,6 +32,7 @@ const imagePickerOptions = {
includeBase64: false,
saveToPhotos: false,
selectionLimit: 1,
+ includeExtra: false,
};
/**
diff --git a/src/components/TextInput/index.js b/src/components/TextInput/index.js
index 30a00e89b76d..bcdb7541abee 100644
--- a/src/components/TextInput/index.js
+++ b/src/components/TextInput/index.js
@@ -16,6 +16,8 @@ class TextInput extends React.Component {
}
render() {
+ const isLabeledMultiline = Boolean(this.props.label.length) && this.props.multiline;
+
return (
);
}
diff --git a/src/libs/actions/IOU.js b/src/libs/actions/IOU.js
index 686cb51e15e0..b7ce3d7c2e34 100644
--- a/src/libs/actions/IOU.js
+++ b/src/libs/actions/IOU.js
@@ -138,6 +138,10 @@ function createIOUSplit(params) {
emailList: _.map(params.splits, participant => participant.email).join(','),
})
.then((response) => {
+ if (response.jsonCode !== 200) {
+ return response;
+ }
+
chatReportID = response.reportID;
return API.CreateIOUSplit({
...params,
diff --git a/src/libs/actions/Session/index.js b/src/libs/actions/Session/index.js
index 181f50a9a272..719a0a7be7dc 100644
--- a/src/libs/actions/Session/index.js
+++ b/src/libs/actions/Session/index.js
@@ -49,21 +49,18 @@ function setSuccessfulSignInData(data) {
* @param {String} login
*/
function createAccount(login) {
- Onyx.merge(ONYXKEYS.SESSION, {error: ''});
+ Onyx.merge(ONYXKEYS.ACCOUNT, {error: ''});
API.User_SignUp({
email: login,
}).then((response) => {
- if (response.jsonCode === 200) {
+ // A 405 means that the account needs to be validated. We should let the user proceed to the ResendValidationForm view.
+ if (response.jsonCode === 200 || response.jsonCode === 405) {
return;
}
- let errorMessage = response.message || `Unknown API Error: ${response.jsonCode}`;
- if (!response.message && response.jsonCode === 405) {
- errorMessage = 'Cannot create an account that is under a controlled domain';
- }
- Onyx.merge(ONYXKEYS.SESSION, {error: errorMessage});
Onyx.merge(ONYXKEYS.CREDENTIALS, {login: null});
+ Onyx.merge(ONYXKEYS.ACCOUNT, {error: response.message || `Unknown API Error: ${response.jsonCode}`});
});
}
diff --git a/src/styles/styles.js b/src/styles/styles.js
index c0161f67ef1a..0e64120d558d 100644
--- a/src/styles/styles.js
+++ b/src/styles/styles.js
@@ -702,6 +702,10 @@ const styles = {
borderRadius: variables.componentBorderRadiusNormal,
},
+ textInputMultiline: {
+ scrollPadding: '23px 0 0 0',
+ },
+
textInputAndIconContainer: {
flex: 1,
height: '100%',