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%',