Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update version to 1.0.90-3 on staging #4975

Merged
merged 37 commits into from
Sep 1, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
406cfd9
remove expensifySMS domain from the request IOU page
parasharrajat Aug 24, 2021
839d705
remove SMS domain
parasharrajat Aug 24, 2021
c194a29
fix tests
parasharrajat Aug 26, 2021
890dd5d
Remove redundant placeholder
Aug 30, 2021
5be672a
Add icons to buttons, fix inboxcallbutton text size
Aug 30, 2021
cbc989a
Merge branch 'main' into amechler-button-icons
Aug 30, 2021
717abb5
Remove excess comment
Aug 30, 2021
17f49e5
remove unused item
Aug 30, 2021
cf03804
Use pretext in chrerry pick workflow to tag mobile-deployers
Jag96 Aug 30, 2021
02d3e39
Merge pull request #4919 from Expensify/amechler-button-icons
flodnv Aug 31, 2021
d5b7eb3
Merge pull request #4803 from parasharrajat/iou-fix
Julesssss Aug 31, 2021
5d364e7
Merge pull request #4925 from Expensify/joe-fix-announce-mention
roryabraham Aug 31, 2021
0889d0d
Workspace Admin Translation fix, few es copy changes
Santhosh-Sellavel Aug 31, 2021
473c05d
Grab iOS version from release event
AndrewGable Aug 31, 2021
460a804
Update .github/workflows/platformDeploy.yml
AndrewGable Aug 31, 2021
55601da
Add echo
AndrewGable Aug 31, 2021
5bc21cd
Merge pull request #4954 from Santhosh-Sellavel/Santhosh-Translations…
thienlnam Aug 31, 2021
ee886ac
Merge pull request #4918 from Expensify/ckt_bug_removeLoginPlaceholder
stitesExpensify Aug 31, 2021
2919b88
Merge pull request #4957 from Expensify/andrew-fix-ios-prod
roryabraham Aug 31, 2021
339e7f3
empty the error
thienlnam Aug 31, 2021
7fbb6f9
Allow builds to distribute to external testers
AndrewGable Aug 31, 2021
fae6e0e
Merge pull request #4961 from Expensify/andrew-distribute-external
AndrewGable Aug 31, 2021
3b34192
Remove internationalization beta
roryabraham Aug 31, 2021
3f7b115
Update version to 1.0.90-1
Aug 31, 2021
8ac47ef
Merge pull request #4965 from Expensify/version-BUILD-fae6e0edac46e76…
OSBotify Aug 31, 2021
773b68e
Remove unused betas prop
roryabraham Aug 31, 2021
6ac9dc4
Remove unused internationalization beta
roryabraham Aug 31, 2021
b10f6e0
add method to clear error
thienlnam Aug 31, 2021
9a06c42
Merge pull request #4967 from Expensify/Rory-RemoveInternationalizati…
roryabraham Sep 1, 2021
bdb7f2e
Update version to 1.0.90-2
Sep 1, 2021
3a4109b
Merge pull request #4969 from Expensify/version-BUILD-9a06c42ec2940e8…
OSBotify Sep 1, 2021
0f722cb
use method that already exists
thienlnam Sep 1, 2021
6fc296d
add conditional
thienlnam Sep 1, 2021
b4a2a56
Merge pull request #4960 from Expensify/jack-errorMessageOutOfPlace
aldo-expensify Sep 1, 2021
83a2bd3
Update version to 1.0.90-3
Sep 1, 2021
993bc0b
Merge pull request #4974 from Expensify/version-BUILD-b4a2a56c0626af6…
OSBotify Sep 1, 2021
79a1ba7
Merge branch 'main' into update-staging-from-main
Sep 1, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/cherryPick.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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: `<!subteam^S4TJJ3PSL>`,
text: `💥 Failed to CP https://github.com/Expensify/App/pull/${{ github.event.inputs.PULL_REQUEST_NUMBER }} to staging 💥`,
}]
}
env:
Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/platformDeploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -223,11 +223,17 @@ jobs:
APPLE_DEMO_EMAIL: ${{ secrets.APPLE_DEMO_EMAIL }}
APPLE_DEMO_PASSWORD: ${{ secrets.APPLE_DEMO_PASSWORD }}

- 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
echo "iOS version is: ${{ env.IOS_VERSION }}"

- 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
Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,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,
Expand Down
2 changes: 1 addition & 1 deletion ios/NewExpensify/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>1.0.90.2</string>
<string>1.0.90.3</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationQueriesSchemes</key>
Expand Down
2 changes: 1 addition & 1 deletion ios/NewExpensifyTests/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0.90.2</string>
<string>1.0.90.3</string>
</dict>
</plist>
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -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.",
Expand Down
59 changes: 41 additions & 18 deletions src/components/Button.js
Original file line number Diff line number Diff line change
@@ -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,

Expand Down Expand Up @@ -57,6 +61,7 @@ const propTypes = {

const defaultProps = {
text: '',
icon: null,
isLoading: false,
isDisabled: false,
small: false,
Expand Down Expand Up @@ -107,24 +112,42 @@ class Button extends Component {
return <ContentComponent />;
}

return this.props.isLoading
? (
<ActivityIndicator color={themeColors.textReversed} />
) : (
<Text
selectable={false}
style={[
styles.buttonText,
this.props.small && styles.buttonSmallText,
this.props.large && styles.buttonLargeText,
this.props.success && styles.buttonSuccessText,
this.props.danger && styles.buttonDangerText,
...this.props.textStyles,
]}
>
{this.props.text}
</Text>
if (this.props.isLoading) {
return <ActivityIndicator color={themeColors.textReversed} />;
}

const textComponent = (
<Text
selectable={false}
style={[
styles.buttonText,
this.props.small && styles.buttonSmallText,
this.props.large && styles.buttonLargeText,
this.props.success && styles.buttonSuccessText,
this.props.danger && styles.buttonDangerText,
...this.props.textStyles,
]}
>
{this.props.text}
</Text>
);

if (this.props.icon) {
return (
<View style={[styles.flexRow, styles.alignItemsCenter]}>
<View style={styles.mr1}>
<Icon
src={this.props.icon}
fill={themeColors.heading}
small={this.props.small}
/>
</View>
{textComponent}
</View>
);
}

return textComponent;
}

render() {
Expand Down
5 changes: 3 additions & 2 deletions src/components/IOUConfirmationList.js
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -225,15 +226,15 @@ 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
amount: this.calculateAmount(selectedParticipants),
}));

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
Expand Down
32 changes: 7 additions & 25 deletions src/components/InboxCallButton.js
Original file line number Diff line number Diff line change
@@ -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,
Expand All @@ -30,27 +25,14 @@ const InboxCallButton = props => (
text={props.translate('requestCallPage.needHelpTooltip')}
containerStyles={[styles.justifyContentCenter, styles.alignItemsCenter]}
>
<Pressable
<Button
onPress={() => {
Navigation.navigate(ROUTES.getRequestCallRoute(props.taskID));
}}
style={[styles.button, styles.buttonSmall]}
>
<View style={styles.flexRow}>
<View style={styles.mr1}>
<Icon
src={Phone}
fill={themeColors.heading}
small
/>
</View>
<View>
<Text style={styles.buttonText}>
{props.translate('requestCallPage.needHelp')}
</Text>
</View>
</View>
</Pressable>
text={props.translate('requestCallPage.needHelp')}
small
icon={Phone}
/>
</Tooltip>
);

Expand Down
1 change: 0 additions & 1 deletion src/languages/en.js
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down
23 changes: 11 additions & 12 deletions src/languages/es.js
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down Expand Up @@ -552,17 +551,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',
Expand Down
7 changes: 3 additions & 4 deletions src/libs/OptionsListUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ function getPersonalDetailsForLogins(logins, personalDetails) {

if (!personalDetail) {
personalDetail = {
login: addSMSDomainIfPhoneNumber(login),
login,
displayName: login,
avatar: getDefaultAvatar(login),
};
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions src/libs/actions/BankAccounts.js
Original file line number Diff line number Diff line change
Expand Up @@ -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', '')},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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, hideBankAccountErrors} from '../../libs/actions/BankAccounts';
import ONYXKEYS from '../../ONYXKEYS';
import VBALoadingIndicator from '../../components/VBALoadingIndicator';
import Permissions from '../../libs/Permissions';
Expand Down Expand Up @@ -105,6 +105,7 @@ 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)));
}

Expand Down
2 changes: 1 addition & 1 deletion src/pages/ReimbursementAccount/ValidationStep.js
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ class ValidationStep extends React.Component {
value={this.state.amount3}
onChangeText={amount3 => this.setState({amount3})}
/>
{errorMessage && (
{!_.isEmpty(errorMessage) && (
<Text style={[styles.mb5, styles.textDanger]}>
{errorMessage}
</Text>
Expand Down
7 changes: 4 additions & 3 deletions src/pages/iou/IOUModal.js
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand All @@ -17,7 +18,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 Tooltip from '../../components/Tooltip';
Expand Down Expand Up @@ -109,7 +110,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,
}));
Expand Down Expand Up @@ -270,7 +271,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),
});
}

Expand Down
Loading