From 406cfd96a76a442add7e1fa74aab735f895f322f Mon Sep 17 00:00:00 2001 From: Rajat Parashar Date: Tue, 24 Aug 2021 15:09:17 +0530 Subject: [PATCH 01/23] remove expensifySMS domain from the request IOU page --- src/components/IOUConfirmationList.js | 5 +++-- src/libs/OptionsListUtils.js | 2 +- src/pages/iou/IOUModal.js | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/components/IOUConfirmationList.js b/src/components/IOUConfirmationList.js index 3be35546855a..b3e946a3f347 100755 --- a/src/components/IOUConfirmationList.js +++ b/src/components/IOUConfirmationList.js @@ -8,6 +8,7 @@ import styles from '../styles/styles'; import Text from './Text'; import themeColors from '../styles/themes/default'; import { + addSMSDomainIfPhoneNumber, getIOUConfirmationOptionsFromMyPersonalDetail, getIOUConfirmationOptionsFromParticipants, } from '../libs/OptionsListUtils'; @@ -225,7 +226,7 @@ class IOUConfirmationList extends Component { } const selectedParticipants = this.getSelectedParticipants(); const splits = _.map(selectedParticipants, participant => ({ - email: participant.login, + email: addSMSDomainIfPhoneNumber(participant.login), // We should send in cents to API // Cents is temporary and there must be support for other currencies in the future @@ -233,7 +234,7 @@ class IOUConfirmationList extends Component { })); splits.push({ - email: this.props.myPersonalDetails.login, + email: addSMSDomainIfPhoneNumber(this.props.myPersonalDetails.login), // The user is default and we should send in cents to API // USD is temporary and there must be support for other currencies in the future diff --git a/src/libs/OptionsListUtils.js b/src/libs/OptionsListUtils.js index afeced90ac98..5124737f8ddf 100644 --- a/src/libs/OptionsListUtils.js +++ b/src/libs/OptionsListUtils.js @@ -106,7 +106,7 @@ function getPersonalDetailsForLogins(logins, personalDetails) { if (!personalDetail) { personalDetail = { - login: addSMSDomainIfPhoneNumber(login), + login, displayName: login, avatar: getDefaultAvatar(login), }; diff --git a/src/pages/iou/IOUModal.js b/src/pages/iou/IOUModal.js index 02c67c8ccf07..ef37f4549f49 100755 --- a/src/pages/iou/IOUModal.js +++ b/src/pages/iou/IOUModal.js @@ -17,7 +17,7 @@ import Navigation from '../../libs/Navigation/Navigation'; import ONYXKEYS from '../../ONYXKEYS'; import withLocalize, {withLocalizePropTypes} from '../../components/withLocalize'; import compose from '../../libs/compose'; -import {getPersonalDetailsForLogins} from '../../libs/OptionsListUtils'; +import {addSMSDomainIfPhoneNumber, getPersonalDetailsForLogins} from '../../libs/OptionsListUtils'; import FullScreenLoadingIndicator from '../../components/FullscreenLoadingIndicator'; import ScreenWrapper from '../../components/ScreenWrapper'; import CONST from '../../CONST'; @@ -269,7 +269,7 @@ class IOUModal extends Component { // should send in cents to API amount: Math.round(this.state.amount * 100), currency: this.props.iou.selectedCurrencyCode, - debtorEmail: this.state.participants[0].login, + debtorEmail: addSMSDomainIfPhoneNumber(this.state.participants[0].login), }); } From 839d7059071aede3579a50b24a9f9874b1af151b Mon Sep 17 00:00:00 2001 From: Rajat Parashar Date: Tue, 24 Aug 2021 22:34:12 +0530 Subject: [PATCH 02/23] remove SMS domain --- src/libs/OptionsListUtils.js | 5 ++--- src/pages/iou/IOUModal.js | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libs/OptionsListUtils.js b/src/libs/OptionsListUtils.js index 5124737f8ddf..e8e003a7e9d7 100644 --- a/src/libs/OptionsListUtils.js +++ b/src/libs/OptionsListUtils.js @@ -239,8 +239,7 @@ function createOption(personalDetailList, report, draftComments, { // It doesn't make sense to provide a login in the case of a report with multiple participants since // there isn't any one single login to refer to for a report. - // If single login is a mobile number, appending SMS domain - login: !hasMultipleParticipants ? addSMSDomainIfPhoneNumber(personalDetail.login) : null, + login: !hasMultipleParticipants ? personalDetail.login : null, reportID: report ? report.reportID : null, isUnread: report ? report.unreadActionCount > 0 : null, hasDraftComment: _.size(reportDraftComment) > 0, @@ -289,7 +288,7 @@ function isCurrentUser(userDetails) { return false; } - // If user login is mobile number, append sms domain if not appended already just a fail safe. + // If user login is mobile number, append sms domain if not appended already. const userDetailsLogin = addSMSDomainIfPhoneNumber(userDetails.login); // Initial check with currentUserLogin diff --git a/src/pages/iou/IOUModal.js b/src/pages/iou/IOUModal.js index ef37f4549f49..e6f70075d535 100755 --- a/src/pages/iou/IOUModal.js +++ b/src/pages/iou/IOUModal.js @@ -3,6 +3,7 @@ import {View, TouchableOpacity} from 'react-native'; import PropTypes from 'prop-types'; import lodashGet from 'lodash/get'; import {withOnyx} from 'react-native-onyx'; +import Str from 'expensify-common/lib/str'; import IOUAmountPage from './steps/IOUAmountPage'; import IOUParticipantsPage from './steps/IOUParticipantsPage'; import IOUConfirmPage from './steps/IOUConfirmPage'; @@ -108,7 +109,7 @@ class IOUModal extends Component { .map(personalDetails => ({ login: personalDetails.login, text: personalDetails.displayName, - alternateText: personalDetails.login, + alternateText: Str.isSMSLogin(personalDetails.login) ? Str.removeSMSDomain(personalDetails.login) : personalDetails.login, icons: [personalDetails.avatar], keyForList: personalDetails.login, })); From c194a29758383e03dd5b6ef2fdd4c47643b4ecd2 Mon Sep 17 00:00:00 2001 From: Rajat Parashar Date: Thu, 26 Aug 2021 10:35:06 +0530 Subject: [PATCH 03/23] fix tests --- tests/unit/OptionsListUtilsTest.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/unit/OptionsListUtilsTest.js b/tests/unit/OptionsListUtilsTest.js index 3a9b992050ad..b70acc49bb1a 100644 --- a/tests/unit/OptionsListUtilsTest.js +++ b/tests/unit/OptionsListUtilsTest.js @@ -443,7 +443,7 @@ describe('OptionsListUtils', () => { expect(results.recentReports.length).toBe(0); expect(results.personalDetails.length).toBe(0); expect(results.userToInvite).not.toBe(null); - expect(results.userToInvite.login).toBe(`+15005550006${CONST.SMS.DOMAIN}`); + expect(results.userToInvite.login).toBe('+15005550006'); // When we add a search term for which no options exist and the searchValue itself // is a potential phone number with country code added @@ -454,7 +454,7 @@ describe('OptionsListUtils', () => { expect(results.recentReports.length).toBe(0); expect(results.personalDetails.length).toBe(0); expect(results.userToInvite).not.toBe(null); - expect(results.userToInvite.login).toBe(`+15005550006${CONST.SMS.DOMAIN}`); + expect(results.userToInvite.login).toBe('+15005550006'); // Test Concierge's existence in new group options results = OptionsListUtils.getNewGroupOptions(REPORTS_WITH_CONCIERGE, PERSONAL_DETAILS_WITH_CONCIERGE); From 890dd5de3bb415026830114b144cf8f2485cd823 Mon Sep 17 00:00:00 2001 From: Kosuke Tseng Date: Sun, 29 Aug 2021 22:28:03 -0700 Subject: [PATCH 04/23] Remove redundant placeholder --- src/languages/en.js | 1 - src/languages/es.js | 1 - src/pages/signin/LoginForm.js | 2 -- 3 files changed, 4 deletions(-) diff --git a/src/languages/en.js b/src/languages/en.js index 560e7d692f25..dfddc0518f81 100755 --- a/src/languages/en.js +++ b/src/languages/en.js @@ -336,7 +336,6 @@ export default { loginForm: { pleaseEnterEmailOrPhoneNumber: 'Please enter an email or phone number', phoneOrEmail: 'Phone or email', - enterYourPhoneOrEmail: 'Enter your phone or email:', }, resendValidationForm: { linkHasBeenResent: 'Link has been re-sent', diff --git a/src/languages/es.js b/src/languages/es.js index e7c6bedbe49f..e658c0110b29 100644 --- a/src/languages/es.js +++ b/src/languages/es.js @@ -336,7 +336,6 @@ export default { loginForm: { pleaseEnterEmailOrPhoneNumber: 'Por favor escribe un email o número de teléfono', phoneOrEmail: 'Número de teléfono o email', - enterYourPhoneOrEmail: 'Escribe tu número de teléfono o email:', }, resendValidationForm: { linkHasBeenResent: 'El enlace se ha reenviado', diff --git a/src/pages/signin/LoginForm.js b/src/pages/signin/LoginForm.js index 9ffe5e491fc9..63503f4d2563 100755 --- a/src/pages/signin/LoginForm.js +++ b/src/pages/signin/LoginForm.js @@ -83,8 +83,6 @@ class LoginForm extends React.Component { autoCapitalize="none" autoCorrect={false} keyboardType={getEmailKeyboardType()} - placeholder={this.props.translate('loginForm.enterYourPhoneOrEmail')} - placeholderTextColor={themeColors.placeholderText} autoFocus={canFocusInputOnScreenFocus()} translateX={-18} /> From 5be672a2a01f335994c9e91e4d0154b2a6ebfd81 Mon Sep 17 00:00:00 2001 From: Alexander Date: Mon, 30 Aug 2021 09:53:22 -0700 Subject: [PATCH 05/23] Add icons to buttons, fix inboxcallbutton text size --- src/components/Button.js | 59 +++++++++++++++++++++---------- src/components/InboxCallButton.js | 48 ++++++++++++------------- 2 files changed, 64 insertions(+), 43 deletions(-) diff --git a/src/components/Button.js b/src/components/Button.js index be1f13ac5131..52586b44d7e2 100644 --- a/src/components/Button.js +++ b/src/components/Button.js @@ -1,17 +1,21 @@ import _ from 'underscore'; import React, {Component} from 'react'; -import {Pressable, ActivityIndicator} from 'react-native'; +import {Pressable, ActivityIndicator, View} from 'react-native'; import PropTypes from 'prop-types'; import styles from '../styles/styles'; import themeColors from '../styles/themes/default'; import OpacityView from './OpacityView'; import Text from './Text'; import KeyboardShortcut from '../libs/KeyboardShortcut'; +import Icon from './Icon'; const propTypes = { /** The text for the button label */ text: PropTypes.string, + /** The icon asset to display to the left of the text */ + icon: PropTypes.func, + /** Small sized button */ small: PropTypes.bool, @@ -57,6 +61,7 @@ const propTypes = { const defaultProps = { text: '', + icon: null, isLoading: false, isDisabled: false, small: false, @@ -107,24 +112,42 @@ class Button extends Component { return ; } - return this.props.isLoading - ? ( - - ) : ( - - {this.props.text} - + if (this.props.isLoading) { + return ; + } + + const textComponent = ( + + {this.props.text} + + ); + + if (this.props.icon) { + return ( + + + + + {textComponent} + ); + } + + return textComponent; } render() { diff --git a/src/components/InboxCallButton.js b/src/components/InboxCallButton.js index ef271cfca57f..486efaaa8dfe 100644 --- a/src/components/InboxCallButton.js +++ b/src/components/InboxCallButton.js @@ -1,18 +1,13 @@ import React from 'react'; -import { - View, Pressable, -} from 'react-native'; import PropTypes from 'prop-types'; -import Icon from './Icon'; -import {Phone} from './Icon/Expensicons'; import styles from '../styles/styles'; -import themeColors from '../styles/themes/default'; import withLocalize, {withLocalizePropTypes} from './withLocalize'; import compose from '../libs/compose'; import Navigation from '../libs/Navigation/Navigation'; import ROUTES from '../ROUTES'; -import Text from './Text'; import Tooltip from './Tooltip'; +import Button from './Button'; +import {Phone} from './Icon/Expensicons'; const propTypes = { ...withLocalizePropTypes, @@ -30,27 +25,14 @@ const InboxCallButton = props => ( text={props.translate('requestCallPage.needHelpTooltip')} containerStyles={[styles.justifyContentCenter, styles.alignItemsCenter]} > - { Navigation.navigate(ROUTES.getRequestCallRoute(props.taskID)); }} - style={[styles.button, styles.buttonSmall]} - > - - - - - - - {props.translate('requestCallPage.needHelp')} - - - - + text={props.translate('requestCallPage.needHelp')} + small + icon={Phone} + /> ); @@ -58,3 +40,19 @@ InboxCallButton.propTypes = propTypes; InboxCallButton.defaultProps = defaultProps; InboxCallButton.displayName = 'InboxCallButton'; export default compose(withLocalize)(InboxCallButton); + +// +// +// +// +// +// +// {props.translate('requestCallPage.needHelp')} +// +// +// From 717abb5a64b17e7cacb24e92868910f5ae357731 Mon Sep 17 00:00:00 2001 From: Alexander Date: Mon, 30 Aug 2021 11:29:38 -0700 Subject: [PATCH 06/23] Remove excess comment --- src/components/InboxCallButton.js | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/src/components/InboxCallButton.js b/src/components/InboxCallButton.js index 486efaaa8dfe..690a4e4bfd5c 100644 --- a/src/components/InboxCallButton.js +++ b/src/components/InboxCallButton.js @@ -40,19 +40,3 @@ InboxCallButton.propTypes = propTypes; InboxCallButton.defaultProps = defaultProps; InboxCallButton.displayName = 'InboxCallButton'; export default compose(withLocalize)(InboxCallButton); - -// -// -// -// -// -// -// {props.translate('requestCallPage.needHelp')} -// -// -// From 17f49e59f3ba30dc36c4af3e54ec2696113067d6 Mon Sep 17 00:00:00 2001 From: Kosuke Tseng Date: Mon, 30 Aug 2021 11:56:30 -0700 Subject: [PATCH 07/23] remove unused item --- src/pages/signin/LoginForm.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/signin/LoginForm.js b/src/pages/signin/LoginForm.js index 63503f4d2563..e3b4bfd3f09d 100755 --- a/src/pages/signin/LoginForm.js +++ b/src/pages/signin/LoginForm.js @@ -4,7 +4,6 @@ import {withOnyx} from 'react-native-onyx'; import PropTypes from 'prop-types'; import _ from 'underscore'; import styles from '../../styles/styles'; -import themeColors from '../../styles/themes/default'; import Button from '../../components/Button'; import Text from '../../components/Text'; import {fetchAccountDetails} from '../../libs/actions/Session'; From cf03804beca6c06d7e5d145d7c6eb155d755c614 Mon Sep 17 00:00:00 2001 From: Joe Gambino Date: Mon, 30 Aug 2021 15:57:25 -0500 Subject: [PATCH 08/23] Use pretext in chrerry pick workflow to tag mobile-deployers --- .github/workflows/cherryPick.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cherryPick.yml b/.github/workflows/cherryPick.yml index 0ab0188ceda0..d9caf197e70c 100644 --- a/.github/workflows/cherryPick.yml +++ b/.github/workflows/cherryPick.yml @@ -190,7 +190,8 @@ jobs: channel: '#announce', attachments: [{ color: "#DB4545", - text: `@mobile-deployers 💥 Failed to CP https://github.com/Expensify/App/pull/${{ github.event.inputs.PULL_REQUEST_NUMBER }} to staging 💥`, + pretext: ``, + text: `💥 Failed to CP https://github.com/Expensify/App/pull/${{ github.event.inputs.PULL_REQUEST_NUMBER }} to staging 💥`, }] } env: From 0889d0dbefd1f888e0a2c0399cee8599e8e26e32 Mon Sep 17 00:00:00 2001 From: Santhoshkumar Sellavel Date: Tue, 31 Aug 2021 23:11:07 +0530 Subject: [PATCH 09/23] Workspace Admin Translation fix, few es copy changes --- src/languages/es.js | 22 +++++++++++----------- src/pages/workspace/WorkspacePeoplePage.js | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/languages/es.js b/src/languages/es.js index e7c6bedbe49f..74f634142268 100644 --- a/src/languages/es.js +++ b/src/languages/es.js @@ -552,17 +552,17 @@ export default { forNextSteps: ' para conocer los próximos pasos para terminar de configurar su cuenta bancaria.', }, beneficialOwnersStep: { - beneficialOwners: 'Beneficial Owners', - additionalInformation: 'Additional Information', - checkAllThatApply: '(check all that apply, otherwise leave blank)', - iOwnMoreThan25Percent: 'I own more than 25% of ', - someoneOwnsMoreThan25Percent: 'Somebody else owns more than 25% of ', - additionalOwner: 'Additional Beneficial Owner', - removeOwner: 'Remove this beneficial owner', - addAnotherIndividual: 'Add another individual who owns more than 25% of ', - agreement: 'Agreement:', - termsAndConditions: 'terms and conditions', - certifyTrueAndAccurate: 'I certify that the information provided is true and accurate', + beneficialOwners: 'Beneficiario efectivo', + additionalInformation: 'Información adicional', + checkAllThatApply: '(marca todos los que apliquen, en caso de que ninguno aplique dejar en blanco)', + iOwnMoreThan25Percent: 'Soy dueño de mas de 25% de ', + someoneOwnsMoreThan25Percent: 'Otra persona es dueña de mas de 25% de ', + additionalOwner: 'Beneficiario efectivo adicional', + removeOwner: 'Eliminar este beneficiario efectivo', + addAnotherIndividual: 'Agregar otra persona que es dueña de mas de 25% de ', + agreement: 'Acuerdo:', + termsAndConditions: 'Términos y condiciones', + certifyTrueAndAccurate: 'Certifico que la información dada es correcta', error: { termsAndConditions: 'Debe aceptar términos y condiciones', certify: 'Debe certificar que la información es verdadera y precisa', diff --git a/src/pages/workspace/WorkspacePeoplePage.js b/src/pages/workspace/WorkspacePeoplePage.js index a396454083fe..f32720f7cb40 100644 --- a/src/pages/workspace/WorkspacePeoplePage.js +++ b/src/pages/workspace/WorkspacePeoplePage.js @@ -198,7 +198,7 @@ class WorkspacePeoplePage extends React.Component { - Admin + {this.props.translate('common.admin')} From 473c05dbce673ef4d71ba78264fbbd4401a303be Mon Sep 17 00:00:00 2001 From: andrew Date: Tue, 31 Aug 2021 12:24:54 -0600 Subject: [PATCH 10/23] Grab iOS version from release event --- .github/workflows/platformDeploy.yml | 6 +++++- fastlane/Fastfile | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/platformDeploy.yml b/.github/workflows/platformDeploy.yml index 93eb6980ca54..8e06413c8114 100644 --- a/.github/workflows/platformDeploy.yml +++ b/.github/workflows/platformDeploy.yml @@ -223,11 +223,15 @@ jobs: APPLE_DEMO_EMAIL: ${{ secrets.APPLE_DEMO_EMAIL }} APPLE_DEMO_PASSWORD: ${{ secrets.APPLE_DEMO_PASSWORD }} + - name: Set iOS version in ENV + if: ${{ env.SHOULD_DEPLOY_PRODUCTION == 'true' }} + run: echo "IOS_VERSION=$(echo '${{ github.event.release.tag_name }}' | tr '-' '.')" >> $GITHUB_ENV + - name: Run Fastlane for App Store release if: ${{ env.SHOULD_DEPLOY_PRODUCTION == 'true' }} run: bundle exec fastlane ios production env: - VERSION: ${{ env.NEW_IOS_VERSION }} + VERSION: ${{ env.IOS_VERSION }} web: name: Build and deploy Web diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 89484fa1022a..0dc333807425 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -149,7 +149,7 @@ platform :ios do api_key_path: "./ios/ios-fastlane-json-key.json", build_number: ENV["VERSION"], submit_for_review: true, - automatic_release: false, + automatic_release: true, skip_metadata: true, skip_screenshots: true, skip_binary_upload: true, From 460a804ca18e9d99790b6b60f1774f3f14b443e3 Mon Sep 17 00:00:00 2001 From: Andrew Gable Date: Tue, 31 Aug 2021 11:56:06 -0700 Subject: [PATCH 11/23] Update .github/workflows/platformDeploy.yml Co-authored-by: Rory Abraham <47436092+roryabraham@users.noreply.github.com> --- .github/workflows/platformDeploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/platformDeploy.yml b/.github/workflows/platformDeploy.yml index 8e06413c8114..3136beb39de6 100644 --- a/.github/workflows/platformDeploy.yml +++ b/.github/workflows/platformDeploy.yml @@ -224,7 +224,7 @@ jobs: APPLE_DEMO_PASSWORD: ${{ secrets.APPLE_DEMO_PASSWORD }} - name: Set iOS version in ENV - if: ${{ env.SHOULD_DEPLOY_PRODUCTION == 'true' }} + if: ${{ fromJSON(env.SHOULD_DEPLOY_PRODUCTION) }} run: echo "IOS_VERSION=$(echo '${{ github.event.release.tag_name }}' | tr '-' '.')" >> $GITHUB_ENV - name: Run Fastlane for App Store release From 55601da464fd9eeae8c77cb762c0c55331ea2171 Mon Sep 17 00:00:00 2001 From: andrew Date: Tue, 31 Aug 2021 12:59:48 -0600 Subject: [PATCH 12/23] Add echo --- .github/workflows/platformDeploy.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/platformDeploy.yml b/.github/workflows/platformDeploy.yml index 3136beb39de6..65976854ae58 100644 --- a/.github/workflows/platformDeploy.yml +++ b/.github/workflows/platformDeploy.yml @@ -225,7 +225,9 @@ jobs: - name: Set iOS version in ENV if: ${{ fromJSON(env.SHOULD_DEPLOY_PRODUCTION) }} - run: echo "IOS_VERSION=$(echo '${{ github.event.release.tag_name }}' | tr '-' '.')" >> $GITHUB_ENV + run: | + echo "IOS_VERSION=$(echo '${{ github.event.release.tag_name }}' | tr '-' '.')" >> $GITHUB_ENV + echo "iOS version is: ${{ env.IOS_VERSION }}" - name: Run Fastlane for App Store release if: ${{ env.SHOULD_DEPLOY_PRODUCTION == 'true' }} From 339e7f3358f5f4fe0a4abee040a3fcc1901c17c2 Mon Sep 17 00:00:00 2001 From: Jack Nam Date: Tue, 31 Aug 2021 13:59:44 -0700 Subject: [PATCH 13/23] empty the error --- src/libs/actions/BankAccounts.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libs/actions/BankAccounts.js b/src/libs/actions/BankAccounts.js index ef1acaf27d6c..d961aa679203 100644 --- a/src/libs/actions/BankAccounts.js +++ b/src/libs/actions/BankAccounts.js @@ -346,6 +346,7 @@ function fetchFreePlanVerifiedBankAccount(stepToOpen) { // and determine which step to navigate to. Onyx.set(ONYXKEYS.REIMBURSEMENT_ACCOUNT, { loading: true, + error: '', // We temporarily keep the achData state to prevent UI changes while fetching. achData: {state: lodashGet(reimbursementAccountInSetup, 'state', '')}, From 7fbb6f993101e0a235572a7de5a6479094de8c6a Mon Sep 17 00:00:00 2001 From: andrew Date: Tue, 31 Aug 2021 16:21:03 -0600 Subject: [PATCH 14/23] Allow builds to distribute to external testers --- fastlane/Fastfile | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 0dc333807425..553d4a2bf228 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -113,15 +113,8 @@ platform :ios do upload_to_testflight( api_key_path: "./ios/ios-fastlane-json-key.json", - # TODO: Remove skip_waiting_for_build_processing when https://github.com/fastlane/fastlane/issues/18408 is resolved - # See: https://github.com/Expensify/App/pull/1984 for more information - skip_waiting_for_build_processing: true, - # TODO: Set distribute_external back to true when https://github.com/fastlane/fastlane/issues/18408 is resolved - # See: https://github.com/Expensify/App/pull/1984 for more information - distribute_external: false, - # TODO: Set reject_build_waiting_for_review back to true when https://github.com/fastlane/fastlane/issues/18408 is resolved - # See: https://github.com/Expensify/App/pull/1984 for more information - reject_build_waiting_for_review: false, + distribute_external: true, + notify_external_testers: true, changelog: "Thank you for beta testing New Expensify, this version includes bug fixes and improvements.", groups: ["Beta"], demo_account_required: true, From 3b34192561e3ccf1905cb6788544bd4e16cf85cd Mon Sep 17 00:00:00 2001 From: Rory Abraham Date: Tue, 31 Aug 2021 16:11:47 -0700 Subject: [PATCH 15/23] Remove internationalization beta --- src/components/LocalePicker.js | 33 +++++++++++++-------------------- src/libs/Permissions.js | 9 --------- 2 files changed, 13 insertions(+), 29 deletions(-) diff --git a/src/components/LocalePicker.js b/src/components/LocalePicker.js index 6df228ca4776..96abe21eb4a1 100644 --- a/src/components/LocalePicker.js +++ b/src/components/LocalePicker.js @@ -6,7 +6,6 @@ import {setLocale} from '../libs/actions/App'; import withLocalize, {withLocalizePropTypes} from './withLocalize'; import ONYXKEYS from '../ONYXKEYS'; import CONST from '../CONST'; -import Permissions from '../libs/Permissions'; import {translate} from '../libs/translate'; import ExpensiPicker from './ExpensiPicker'; @@ -43,25 +42,19 @@ const localesToLanguages = { const LocalePicker = ({ // eslint-disable-next-line no-shadow preferredLocale, translate, betas, size, -}) => { - if (!Permissions.canUseInternationalization(betas)) { - return null; - } - - return ( - { - if (locale !== preferredLocale) { - setLocale(locale); - } - }} - items={Object.values(localesToLanguages)} - size={size} - value={preferredLocale} - /> - ); -}; +}) => ( + { + if (locale !== preferredLocale) { + setLocale(locale); + } + }} + items={Object.values(localesToLanguages)} + size={size} + value={preferredLocale} + /> +); LocalePicker.defaultProps = defaultProps; LocalePicker.propTypes = propTypes; diff --git a/src/libs/Permissions.js b/src/libs/Permissions.js index 1ca31ce88712..7063273b245c 100644 --- a/src/libs/Permissions.js +++ b/src/libs/Permissions.js @@ -51,19 +51,10 @@ function canUseDefaultRooms(betas) { return _.contains(betas, CONST.BETAS.DEFAULT_ROOMS) || canUseAllBetas(betas); } -/** - * @param {Array} betas - * @returns {Boolean} - */ -function canUseInternationalization(betas) { - return _.contains(betas, CONST.BETAS.INTERNATIONALIZATION) || canUseAllBetas(betas); -} - export default { canUseChronos, canUseIOU, canUsePayWithExpensify, canUseFreePlan, canUseDefaultRooms, - canUseInternationalization, }; From 3f7b115491f8603f824650ae79ef06887001d189 Mon Sep 17 00:00:00 2001 From: OSBotify Date: Tue, 31 Aug 2021 23:13:17 +0000 Subject: [PATCH 16/23] Update version to 1.0.90-1 --- android/app/build.gradle | 4 ++-- ios/NewExpensify/Info.plist | 2 +- ios/NewExpensifyTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 93efc74f229a..72b78f82b4bf 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 1001009000 - versionName "1.0.90-0" + versionCode 1001009001 + versionName "1.0.90-1" } splits { abi { diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist index e47d5a67cd37..46f154e3e8d0 100644 --- a/ios/NewExpensify/Info.plist +++ b/ios/NewExpensify/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.90.0 + 1.0.90.1 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist index 9057f029a1d6..bb217905e4c8 100644 --- a/ios/NewExpensifyTests/Info.plist +++ b/ios/NewExpensifyTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.90.0 + 1.0.90.1 diff --git a/package-lock.json b/package-lock.json index 7c5a9b63fa67..c59f7119fb1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.0.90-0", + "version": "1.0.90-1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 6b36abd357f3..968d4f68664d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.0.90-0", + "version": "1.0.90-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.", From 773b68ec4d65f7162e1ce227f9d5bb4b8f009a9c Mon Sep 17 00:00:00 2001 From: Rory Abraham Date: Tue, 31 Aug 2021 16:34:08 -0700 Subject: [PATCH 17/23] Remove unused betas prop --- src/components/LocalePicker.js | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/components/LocalePicker.js b/src/components/LocalePicker.js index 96abe21eb4a1..ed394a93718e 100644 --- a/src/components/LocalePicker.js +++ b/src/components/LocalePicker.js @@ -16,16 +16,12 @@ const propTypes = { /** Indicates size of a picker component and whether to render the label or not */ size: PropTypes.oneOf(['normal', 'small']), - /** Beta features list */ - betas: PropTypes.arrayOf(PropTypes.string), - ...withLocalizePropTypes, }; const defaultProps = { preferredLocale: CONST.DEFAULT_LOCALE, size: 'normal', - betas: [], }; const localesToLanguages = { @@ -41,7 +37,7 @@ const localesToLanguages = { const LocalePicker = ({ // eslint-disable-next-line no-shadow - preferredLocale, translate, betas, size, + preferredLocale, translate, size, }) => ( Date: Tue, 31 Aug 2021 16:38:35 -0700 Subject: [PATCH 18/23] Remove unused internationalization beta --- src/CONST.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/CONST.js b/src/CONST.js index ff5f73419aca..5e568efec1a9 100755 --- a/src/CONST.js +++ b/src/CONST.js @@ -87,7 +87,6 @@ const CONST = { PAY_WITH_EXPENSIFY: 'payWithExpensify', FREE_PLAN: 'freePlan', DEFAULT_ROOMS: 'defaultRooms', - INTERNATIONALIZATION: 'internationalization', }, BUTTON_STATES: { DEFAULT: 'default', From b10f6e05652b9582a23c07cd1c636d54ba39ab87 Mon Sep 17 00:00:00 2001 From: Jack Nam Date: Tue, 31 Aug 2021 16:45:22 -0700 Subject: [PATCH 19/23] add method to clear error --- src/libs/actions/BankAccounts.js | 10 ++++++++++ .../ReimbursementAccount/ReimbursementAccountPage.js | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/libs/actions/BankAccounts.js b/src/libs/actions/BankAccounts.js index d961aa679203..d4acc64c1072 100644 --- a/src/libs/actions/BankAccounts.js +++ b/src/libs/actions/BankAccounts.js @@ -331,6 +331,15 @@ function fetchUserWallet() { }); } +/** + * Clears the error in the REIMBURSEMENT_ACCOUNT onyx key + */ +function clearReimbursementAccountError() { + Onyx.merge(ONYXKEYS.REIMBURSEMENT_ACCOUNT, { + error: '', + }); +} + /** * Fetch the bank account currently being set up by the user for the free plan if it exists. * @@ -821,6 +830,7 @@ export { addPersonalBankAccount, clearPlaidBankAccountsAndToken, fetchFreePlanVerifiedBankAccount, + clearReimbursementAccountError, fetchOnfidoToken, fetchPlaidLinkToken, fetchUserWallet, diff --git a/src/pages/ReimbursementAccount/ReimbursementAccountPage.js b/src/pages/ReimbursementAccount/ReimbursementAccountPage.js index 0a964289f5f4..8c706dce23ae 100644 --- a/src/pages/ReimbursementAccount/ReimbursementAccountPage.js +++ b/src/pages/ReimbursementAccount/ReimbursementAccountPage.js @@ -6,7 +6,7 @@ import Str from 'expensify-common/lib/str'; import {View} from 'react-native'; import PropTypes from 'prop-types'; import ScreenWrapper from '../../components/ScreenWrapper'; -import {fetchFreePlanVerifiedBankAccount} from '../../libs/actions/BankAccounts'; +import {fetchFreePlanVerifiedBankAccount, clearReimbursementAccountError} from '../../libs/actions/BankAccounts'; import ONYXKEYS from '../../ONYXKEYS'; import VBALoadingIndicator from '../../components/VBALoadingIndicator'; import Permissions from '../../libs/Permissions'; @@ -106,6 +106,7 @@ class ReimbursementAccountPage extends React.Component { // the route params when the component first mounts to jump to a specific route instead of picking up where the // user left off in the flow. Navigation.navigate(ROUTES.getBankAccountRoute(this.getRouteForCurrentStep(currentStep))); + clearReimbursementAccountError(); } /** From bdb7f2e3c7c58c6b91ff4f04b6f1e7fa6fb2e35b Mon Sep 17 00:00:00 2001 From: OSBotify Date: Wed, 1 Sep 2021 00:02:06 +0000 Subject: [PATCH 20/23] Update version to 1.0.90-2 --- android/app/build.gradle | 4 ++-- ios/NewExpensify/Info.plist | 2 +- ios/NewExpensifyTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 72b78f82b4bf..c0dc4bb8f28e 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 1001009001 - versionName "1.0.90-1" + versionCode 1001009002 + versionName "1.0.90-2" } splits { abi { diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist index 46f154e3e8d0..1df1d1dfeb3f 100644 --- a/ios/NewExpensify/Info.plist +++ b/ios/NewExpensify/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.90.1 + 1.0.90.2 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist index bb217905e4c8..c5e85d08550c 100644 --- a/ios/NewExpensifyTests/Info.plist +++ b/ios/NewExpensifyTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.90.1 + 1.0.90.2 diff --git a/package-lock.json b/package-lock.json index c59f7119fb1a..8b47f82dbc97 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.0.90-1", + "version": "1.0.90-2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 968d4f68664d..ae0048ef0934 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.0.90-1", + "version": "1.0.90-2", "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.", From 0f722cb906037207a3fd1c45c464efb507c8652a Mon Sep 17 00:00:00 2001 From: Jack Nam Date: Tue, 31 Aug 2021 17:09:15 -0700 Subject: [PATCH 21/23] use method that already exists --- src/libs/actions/BankAccounts.js | 10 ---------- .../ReimbursementAccount/ReimbursementAccountPage.js | 4 ++-- src/pages/ReimbursementAccount/ValidationStep.js | 2 +- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/src/libs/actions/BankAccounts.js b/src/libs/actions/BankAccounts.js index d4acc64c1072..d961aa679203 100644 --- a/src/libs/actions/BankAccounts.js +++ b/src/libs/actions/BankAccounts.js @@ -331,15 +331,6 @@ function fetchUserWallet() { }); } -/** - * Clears the error in the REIMBURSEMENT_ACCOUNT onyx key - */ -function clearReimbursementAccountError() { - Onyx.merge(ONYXKEYS.REIMBURSEMENT_ACCOUNT, { - error: '', - }); -} - /** * Fetch the bank account currently being set up by the user for the free plan if it exists. * @@ -830,7 +821,6 @@ export { addPersonalBankAccount, clearPlaidBankAccountsAndToken, fetchFreePlanVerifiedBankAccount, - clearReimbursementAccountError, fetchOnfidoToken, fetchPlaidLinkToken, fetchUserWallet, diff --git a/src/pages/ReimbursementAccount/ReimbursementAccountPage.js b/src/pages/ReimbursementAccount/ReimbursementAccountPage.js index 8c706dce23ae..6ce02391258c 100644 --- a/src/pages/ReimbursementAccount/ReimbursementAccountPage.js +++ b/src/pages/ReimbursementAccount/ReimbursementAccountPage.js @@ -6,7 +6,7 @@ import Str from 'expensify-common/lib/str'; import {View} from 'react-native'; import PropTypes from 'prop-types'; import ScreenWrapper from '../../components/ScreenWrapper'; -import {fetchFreePlanVerifiedBankAccount, clearReimbursementAccountError} from '../../libs/actions/BankAccounts'; +import {fetchFreePlanVerifiedBankAccount, hideBankAccountErrors} from '../../libs/actions/BankAccounts'; import ONYXKEYS from '../../ONYXKEYS'; import VBALoadingIndicator from '../../components/VBALoadingIndicator'; import Permissions from '../../libs/Permissions'; @@ -105,8 +105,8 @@ class ReimbursementAccountPage extends React.Component { // When the step changes we will navigate to update the route params. This is mostly cosmetic as we only use // the route params when the component first mounts to jump to a specific route instead of picking up where the // user left off in the flow. + hideBankAccountErrors(); Navigation.navigate(ROUTES.getBankAccountRoute(this.getRouteForCurrentStep(currentStep))); - clearReimbursementAccountError(); } /** diff --git a/src/pages/ReimbursementAccount/ValidationStep.js b/src/pages/ReimbursementAccount/ValidationStep.js index c10dd28ee004..aba6a744fc7d 100644 --- a/src/pages/ReimbursementAccount/ValidationStep.js +++ b/src/pages/ReimbursementAccount/ValidationStep.js @@ -142,7 +142,7 @@ class ValidationStep extends React.Component { value={this.state.amount3} onChangeText={amount3 => this.setState({amount3})} /> - {errorMessage && ( + {_.isEmpty(errorMessage) && ( {errorMessage} From 6fc296dece7037fb643650fa5906b5701016ea00 Mon Sep 17 00:00:00 2001 From: Jack Nam Date: Tue, 31 Aug 2021 17:10:04 -0700 Subject: [PATCH 22/23] add conditional --- src/pages/ReimbursementAccount/ValidationStep.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/ReimbursementAccount/ValidationStep.js b/src/pages/ReimbursementAccount/ValidationStep.js index aba6a744fc7d..60dcd7428ab1 100644 --- a/src/pages/ReimbursementAccount/ValidationStep.js +++ b/src/pages/ReimbursementAccount/ValidationStep.js @@ -142,7 +142,7 @@ class ValidationStep extends React.Component { value={this.state.amount3} onChangeText={amount3 => this.setState({amount3})} /> - {_.isEmpty(errorMessage) && ( + {!_.isEmpty(errorMessage) && ( {errorMessage} From 83a2bd348c0f72abea9bf655e7da4936d6fe8db1 Mon Sep 17 00:00:00 2001 From: OSBotify Date: Wed, 1 Sep 2021 01:24:42 +0000 Subject: [PATCH 23/23] Update version to 1.0.90-3 --- android/app/build.gradle | 4 ++-- ios/NewExpensify/Info.plist | 2 +- ios/NewExpensifyTests/Info.plist | 2 +- package-lock.json | 2 +- package.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index c0dc4bb8f28e..4876e31ed2c2 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 1001009002 - versionName "1.0.90-2" + versionCode 1001009003 + versionName "1.0.90-3" } splits { abi { diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist index 1df1d1dfeb3f..588af784d614 100644 --- a/ios/NewExpensify/Info.plist +++ b/ios/NewExpensify/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1.0.90.2 + 1.0.90.3 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist index c5e85d08550c..330352b540c4 100644 --- a/ios/NewExpensifyTests/Info.plist +++ b/ios/NewExpensifyTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.0.90.2 + 1.0.90.3 diff --git a/package-lock.json b/package-lock.json index 8b47f82dbc97..f99821e734fb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.0.90-2", + "version": "1.0.90-3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ae0048ef0934..63cc8441ce7e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.0.90-2", + "version": "1.0.90-3", "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.",