diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 30ea5497df76..323c4f095be5 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -6,7 +6,7 @@ on: branches-ignore: [staging, production] env: - DEVELOPER_DIR: /Applications/Xcode_12.5.app/Contents/Developer + DEVELOPER_DIR: /Applications/Xcode_12.5.1.app/Contents/Developer jobs: test: diff --git a/.github/workflows/platformDeploy.yml b/.github/workflows/platformDeploy.yml index cb581c22cd18..45a47d7503ff 100644 --- a/.github/workflows/platformDeploy.yml +++ b/.github/workflows/platformDeploy.yml @@ -10,7 +10,7 @@ on: env: SHOULD_DEPLOY_PRODUCTION: ${{ github.event_name == 'release' }} - DEVELOPER_DIR: /Applications/Xcode_12.5.app/Contents/Developer + DEVELOPER_DIR: /Applications/Xcode_12.5.1.app/Contents/Developer jobs: validateActor: diff --git a/android/app/build.gradle b/android/app/build.gradle index a7d8d4a4cec5..ffa27793bdb1 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -150,8 +150,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001010805 - versionName "1.1.8-5" + versionCode 1001010808 + versionName "1.1.8-8" } splits { abi { diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist index 42ba651e3c3e..c2ee2ca52ecc 100644 --- a/ios/NewExpensify/Info.plist +++ b/ios/NewExpensify/Info.plist @@ -31,7 +31,7 @@ CFBundleVersion - 1.1.8.5 + 1.1.8.8 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist index 9a1d767f329f..800efa1603bd 100644 --- a/ios/NewExpensifyTests/Info.plist +++ b/ios/NewExpensifyTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.1.8.5 + 1.1.8.8 diff --git a/package-lock.json b/package-lock.json index f1dd425c682a..595afb20d835 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.1.8-5", + "version": "1.1.8-8", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 4959806c8e69..08854aea819c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.1.8-5", + "version": "1.1.8-8", "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.", diff --git a/src/components/ExpensiTextInput/BaseExpensiTextInput.js b/src/components/ExpensiTextInput/BaseExpensiTextInput.js index 04c92bf7f1e6..31f94248d571 100644 --- a/src/components/ExpensiTextInput/BaseExpensiTextInput.js +++ b/src/components/ExpensiTextInput/BaseExpensiTextInput.js @@ -171,16 +171,21 @@ class BaseExpensiTextInput extends Component { ]} > {hasLabel ? ( - + <> + {/* Adding this background to the label only for multiline text input, + to prevent text overlaping with label when scrolling */} + {multiline && } + + ) : null} { diff --git a/src/components/Modal/index.ios.js b/src/components/Modal/index.ios.js index 43087549409a..060f8b730a35 100644 --- a/src/components/Modal/index.ios.js +++ b/src/components/Modal/index.ios.js @@ -1,21 +1,15 @@ import React from 'react'; -import {SafeAreaView} from 'react-native'; import withWindowDimensions from '../withWindowDimensions'; import BaseModal from './BaseModal'; import {propTypes, defaultProps} from './ModalPropTypes'; -// Only want to use on iOS. Avoids ScrollBar in the middle of the modal. -// https://github.com/facebook/react-native/issues/26610 const Modal = props => ( - - - {props.children} - - - + {...props} + > + {props.children} + ); Modal.propTypes = propTypes; diff --git a/src/pages/iou/steps/IOUAmountPage.js b/src/pages/iou/steps/IOUAmountPage.js index c03824f18bc7..72482fee134d 100755 --- a/src/pages/iou/steps/IOUAmountPage.js +++ b/src/pages/iou/steps/IOUAmountPage.js @@ -76,6 +76,7 @@ class IOUAmountPage extends React.Component { this.updateAmountNumberPad = this.updateAmountNumberPad.bind(this); this.updateAmount = this.updateAmount.bind(this); this.stripCommaFromAmount = this.stripCommaFromAmount.bind(this); + this.focusTextInput = this.focusTextInput.bind(this); this.state = { amount: props.selectedAmount, @@ -83,7 +84,20 @@ class IOUAmountPage extends React.Component { } componentDidMount() { - // Component is not initialized yet due to navigation transitions + this.focusTextInput(); + } + + componentDidUpdate(prevProps) { + if (this.props.iou.selectedCurrencyCode !== prevProps.iou.selectedCurrencyCode) { + this.focusTextInput(); + } + } + + /** + * Focus text input + */ + focusTextInput() { + // Component may not initialized due to navigation transitions // Wait until interactions are complete before trying to focus InteractionManager.runAfterInteractions(() => { // Focus text input diff --git a/src/styles/styles.js b/src/styles/styles.js index a329fcba50a0..4488a4643d4a 100644 --- a/src/styles/styles.js +++ b/src/styles/styles.js @@ -521,6 +521,7 @@ const styles = { justifyContent: 'center', height: '100%', backgroundColor: themeColors.componentBG, + overflow: 'hidden', }, expensiTextInputLabel: { position: 'absolute', @@ -531,6 +532,15 @@ const styles = { fontFamily: fontFamily.GTA, width: '100%', }, + expensiTextInputLabelBackground: { + position: 'absolute', + top: 0, + width: '100%', + height: 25, + backgroundColor: themeColors.componentBG, + borderTopRightRadius: variables.componentBorderRadiusNormal, + borderTopLeftRadius: variables.componentBorderRadiusNormal, + }, expensiTextInputLabelDesktop: { transformOrigin: 'left center', }, @@ -550,6 +560,7 @@ const styles = { paddingBottom: 8, paddingHorizontal: 11.5, borderRadius: variables.componentBorderRadiusNormal, + zIndex: -1, }, expensiTextInputDesktop: addOutlineWidth({}, 0), expensiTextInputAndroid: left => ({