Skip to content

Commit

Permalink
Merge pull request #16631 from Expensify/update-staging-from-main
Browse files Browse the repository at this point in the history
Update version to 1.2.91-0 on staging
  • Loading branch information
OSBotify authored Mar 28, 2023
2 parents ca5cdcf + c008144 commit 7b7fafe
Show file tree
Hide file tree
Showing 61 changed files with 708 additions and 329 deletions.
4 changes: 2 additions & 2 deletions .github/actions/composite/setupNode/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ runs:
- name: Install node packages
uses: nick-invision/retry@0711ba3d7808574133d713a0d92d2941be03a350
with:
timeout_minutes: 10
max_attempts: 5
timeout_minutes: 30
max_attempts: 3
command: npm ci
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled rootProject.ext.multiDexEnabled
versionCode 1001029007
versionName "1.2.90-7"
versionCode 1001029100
versionName "1.2.91-0"
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()

if (isNewArchitectureEnabled()) {
Expand Down
9 changes: 9 additions & 0 deletions config/proxyConfig.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/**
* These are the base API roots used to send requests to the proxy.
* We only specify for staging URLs as API requests are sent to the production
* servers by default.
*/
module.exports = {
STAGING: '/staging/',
STAGING_SECURE: '/staging-secure/',
};
1 change: 1 addition & 0 deletions config/webpack/webpack.dev.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ module.exports = (env = {}) => portfinder.getPortPromise({port: BASE_PORT})
: {
proxy: {
'/api': 'http://[::1]:9000',
'/staging': 'http://[::1]:9000',
'/chat-attachments': 'http://[::1]:9000',
},
};
Expand Down
1 change: 1 addition & 0 deletions docs/_layouts/default.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Security-Policy" content="script-src https://kit.fontawesome.com https://cdnjs.cloudflare.com https://cdnjs.cloudflare.com/ajax/libs/tocbot/ 'self'; style-src cdnjs.cloudflare.com ka-f.fontawesome.com 'self' 'unsafe-inline'" >
<title>Expensify Help</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui">
<link rel="icon" type="image/png" href="/assets/images/expensify-logo-round.png">
Expand Down
4 changes: 2 additions & 2 deletions ios/NewExpensify/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.2.90</string>
<string>1.2.91</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
Expand All @@ -30,7 +30,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>1.2.90.7</string>
<string>1.2.91.0</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationQueriesSchemes</key>
Expand Down
4 changes: 2 additions & 2 deletions ios/NewExpensifyTests/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.2.90</string>
<string>1.2.91</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.2.90.7</string>
<string>1.2.91.0</string>
</dict>
</plist>
6 changes: 3 additions & 3 deletions 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.2.90-7",
"version": "1.2.91-0",
"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
1 change: 1 addition & 0 deletions src/CONFIG.js
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,5 @@ export default {
DEV_PORT: process.env.PORT || 8080,
E2E_TESTING: lodashGet(Config, 'E2E_TESTING', 'false') === 'true',
SEND_CRASH_REPORTS: lodashGet(Config, 'SEND_CRASH_REPORTS', 'false') === 'true',
IS_USING_WEB_PROXY: getPlatform() === 'web' && useWebProxy,
};
46 changes: 46 additions & 0 deletions src/CONST.js
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,48 @@ const CONST = {
IOU: 'IOU',
RENAMED: 'RENAMED',
CHRONOSOOOLIST: 'CHRONOSOOOLIST',
POLICYCHANGELOG: {
UPDATE_NAME: 'POLICYCHANGELOG_UPDATE_NAME',
UPDATE_CURRENCY: 'POLICYCHANGELOG_UPDATE_CURRENCY',
UPDATE_OWNERSHIP: 'POLICYCHANGELOG_UPDATE_OWNERSHIP',
UPDATE_AUTOHARVESTING: 'POLICYCHANGELOG_UPDATE_AUTOHARVESTING',
UPDATE_AUTOREPORTING_FREQUENCY: 'POLICYCHANGELOG_UPDATE_AUTOREPORTING_FREQUENCY',
UPDATE_DEFAULT_TITLE_ENFORCED: 'POLICYCHANGELOG_UPDATE_DEFAULT_TITLE_ENFORCED',
UPDATE_REPORT_FIELD: 'POLICYCHANGELOG_UPDATE_REPORT_FIELD',
ADD_REPORT_FIELD: 'POLICYCHANGELOG_ADD_REPORT_FIELD',
DELETE_REPORT_FIELD: 'POLICYCHANGELOG_DELETE_REPORT_FIELD',
UPDATE_DEFAULT_TITLE: 'POLICYCHANGELOG_UPDATE_DEFAULT_TITLE',
ADD_CATEGORY: 'POLICYCHANGELOG_ADD_CATEGORY',
DELETE_CATEGORY: 'POLICYCHANGELOG_DELETE_CATEGORY',
SET_CATEGORY_NAME: 'POLICYCHANGELOG_SET_CATEGORY_NAME',
UPDATE_CATEGORY: 'POLICYCHANGELOG_UPDATE_CATEGORY',
ADD_TAG: 'POLICYCHANGELOG_ADD_TAG',
UPDATE_TAG: 'POLICYCHANGELOG_UPDATE_TAG',
DELETE_TAG: 'POLICYCHANGELOG_DELETE_TAG',
UPDATE_TAG_NAME: 'POLICYCHANGELOG_UPDATE_TAG_NAME',
UPDATE_TAG_LIST_NAME: 'POLICYCHANGELOG_UPDATE_TAG_LIST_NAME',
IMPORT_TAGS: 'POLICYCHANGELOG_IMPORT_TAGS',
DELETE_ALL_TAGS: 'POLICYCHANGELOG_DELETE_ALL_TAGS',
ADD_APPROVER_RULE: 'POLICYCHANGELOG_ADD_APPROVER_RULE',
UPDATE_APPROVER_RULE: 'POLICYCHANGELOG_UPDATE_APPROVER_RULE',
DELETE_APPROVER_RULE: 'POLICYCHANGELOG_DELETE_APPROVER_RULE',
ADD_EMPLOYEE: 'POLICYCHANGELOG_ADD_EMPLOYEE',
DELETE_EMPLOYEE: 'POLICYCHANGELOG_DELETE_EMPLOYEE',
UPDATE_EMPLOYEE: 'POLICYCHANGELOG_UPDATE_EMPLOYEE',
SET_AUTO_JOIN: 'POLICYCHANGELOG_SET_AUTO_JOIN',
ADD_INTEGRATION: 'POLICYCHANGELOG_ADD_INTEGRATION',
DELETE_INTEGRATION: 'POLICYCHANGELOG_DELETE_INTEGRATION',
UPDATE_ACH_ACCOUNT: 'POLICYCHANGELOG_UPDATE_ACH_ACCOUNT',
UPDATE_REIMBURSEMENT_CHOICE: 'POLICYCHANGELOG_UPDATE_REIMBURSEMENT_CHOICE',
SET_AUTOREIMBURSEMENT: 'POLICYCHANGELOG_SET_AUTOREIMBURSEMENT',
ADD_CUSTOM_UNIT: 'POLICYCHANGELOG_ADD_CUSTOM_UNIT',
DELETE_CUSTOM_UNIT: 'POLICYCHANGELOG_DELETE_CUSTOM_UNIT',
UPDATE_CUSTOM_UNIT: 'POLICYCHANGELOG_UPDATE_CUSTOM_UNIT',
UPDATE_CUSTOM_UNIT_RATE: 'POLICYCHANGELOG_UPDATE_CUSTOM_UNIT_RATE',
ADD_CUSTOM_UNIT_RATE: 'POLICYCHANGELOG_ADD_CUSTOM_UNIT_RATE',
DELETE_CUSTOM_UNIT_RATE: 'POLICYCHANGELOG_DELETE_CUSTOM_UNIT_RATE',
UPDATE_FIELD: 'POLICYCHANGELOG_UPDATE_FIELD',
},
},
},
ARCHIVE_REASON: {
Expand Down Expand Up @@ -606,6 +648,10 @@ const CONST = {
WIDTH: 320,
HEIGHT: 416,
},
CATEGORY_SHORTCUT_BAR_HEIGHT: 40,
SMALL_EMOJI_PICKER_SIZE: {
WIDTH: '100%',
},
NON_NATIVE_EMOJI_PICKER_LIST_HEIGHT: 256,
EMOJI_PICKER_ITEM_HEIGHT: 32,
EMOJI_PICKER_HEADER_HEIGHT: 32,
Expand Down
4 changes: 3 additions & 1 deletion src/components/AddressSearch.js
Original file line number Diff line number Diff line change
Expand Up @@ -128,12 +128,14 @@ const AddressSearch = (props) => {
administrative_area_level_1: 'long_name',
});

// Make sure that the order of keys remains such that the country is always set above the state.
// Refer to https://github.com/Expensify/App/issues/15633 for more information.
const values = {
street: props.value ? props.value.trim() : '',
city: city || cityFallback,
zipCode,
state,
country: '',
state,
};

// If the address is not in the US, use the full length state name since we're displaying the address's
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,17 @@ const propTypes = {
onPressOut: PropTypes.func,

/** If a file download is happening */
download: PropTypes.bool,
download: PropTypes.shape({
isDownloading: PropTypes.bool.isRequired,
}),

...anchorForAttachmentsOnlyPropTypes,
};

const defaultProps = {
onPressIn: undefined,
onPressOut: undefined,
download: false,
download: {isDownloading: false},
...anchorForAttachmentsOnlyDefaultProps,
};

Expand Down
1 change: 1 addition & 0 deletions src/components/AttachmentCarousel/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,7 @@ class AttachmentCarousel extends React.Component {
<AttachmentView
onPress={() => this.toggleArrowsVisibility(!this.state.shouldShowArrow)}
source={authSource}
key={authSource}
file={this.state.file}
/>
</CarouselActions>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
import React from 'react';
import {Dimensions, Keyboard} from 'react-native';
import _ from 'underscore';
import EmojiPickerMenu from './EmojiPickerMenu';
import CONST from '../../CONST';
import PopoverWithMeasuredContent from '../PopoverWithMeasuredContent';
import EmojiPickerMenu from '../EmojiPickerMenu';
import CONST from '../../../CONST';
import PopoverWithMeasuredContent from '../../PopoverWithMeasuredContent';
import compose from '../../../libs/compose';
import withViewportOffsetTop, {viewportOffsetTopPropTypes} from '../../withViewportOffsetTop';
import withWindowDimensions, {windowDimensionsPropTypes} from '../../withWindowDimensions';

const propTypes = {
...viewportOffsetTopPropTypes,
...windowDimensionsPropTypes,
};

const DEFAULT_ANCHOR_ORIGIN = {
horizontal: CONST.MODAL.ANCHOR_ORIGIN_HORIZONTAL.RIGHT,
Expand Down Expand Up @@ -176,6 +184,7 @@ class EmojiPicker extends React.Component {
}}
anchorOrigin={this.state.emojiPopoverAnchorOrigin}
measureContent={this.measureContent}
outerStyle={{maxHeight: this.props.windowHeight, marginTop: this.props.viewportOffsetTop}}
>
<EmojiPickerMenu
onEmojiSelected={this.selectEmoji}
Expand All @@ -186,4 +195,9 @@ class EmojiPicker extends React.Component {
}
}

export default EmojiPicker;
EmojiPicker.propTypes = propTypes;

export default compose(
withViewportOffsetTop,
withWindowDimensions,
)(EmojiPicker);
44 changes: 27 additions & 17 deletions src/components/EmojiPicker/EmojiPickerMenu/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -424,6 +424,16 @@ class EmojiPickerMenu extends Component {
User.updatePreferredSkinTone(skinTone);
}

/**
* Return a unique key for each emoji item
*
* @param {Object} item
* @returns {String}
*/
keyExtractor(item) {
return (`emoji_picker_${item.code}`);
}

/**
* Given an emoji item object, render a component based on its type.
* Items with the code "SPACER" return nothing and are used to fill rows up to 8
Expand Down Expand Up @@ -477,21 +487,20 @@ class EmojiPickerMenu extends Component {
style={[styles.emojiPickerContainer, StyleUtils.getEmojiPickerStyle(this.props.isSmallScreenWidth)]}
pointerEvents={this.state.arePointerEventsDisabled ? 'none' : 'auto'}
>
{!this.props.isSmallScreenWidth && (
<View style={[styles.ph4, styles.pb1, styles.pt2]}>
<TextInput
label={this.props.translate('common.search')}
onChangeText={this.filterEmojis}
defaultValue=""
ref={el => this.searchInput = el}
autoFocus
selectTextOnFocus={this.state.selectTextOnFocus}
onSelectionChange={this.onSelectionChange}
onFocus={() => this.setState({isFocused: true, highlightedIndex: -1, isUsingKeyboardMovement: false})}
onBlur={() => this.setState({isFocused: false})}
/>
</View>
)}
<View style={[styles.ph4, styles.pb1, styles.pt2]}>
<TextInput
label={this.props.translate('common.search')}
onChangeText={this.filterEmojis}
defaultValue=""
ref={el => this.searchInput = el}
autoFocus={!this.isMobileLandscape() || this.props.isSmallScreenWidth}
selectTextOnFocus={this.state.selectTextOnFocus}
onSelectionChange={this.onSelectionChange}
onFocus={() => this.setState({isFocused: true, highlightedIndex: -1, isUsingKeyboardMovement: false})}
onBlur={() => this.setState({isFocused: false})}
autoCorrect={false}
/>
</View>
{!isFiltered && (
<CategoryShortcutBar
headerEmojis={this.headerEmojis}
Expand All @@ -503,7 +512,7 @@ class EmojiPickerMenu extends Component {
<Text
style={[
styles.disabledText,
styles.emojiPickerList,
styles.emojiPickerListWithPadding,
styles.dFlex,
styles.alignItemsCenter,
styles.justifyContentCenter,
Expand All @@ -518,10 +527,11 @@ class EmojiPickerMenu extends Component {
ref={el => this.emojiList = el}
data={this.state.filteredEmojis}
renderItem={this.renderItem}
keyExtractor={item => `emoji_picker_${item.code}`}
keyExtractor={this.keyExtractor}
numColumns={CONST.EMOJI_NUM_PER_ROW}
style={[
styles.emojiPickerList,
StyleUtils.getEmojiPickerListHeight(isFiltered),
this.isMobileLandscape() && styles.emojiPickerListLandscape,
]}
extraData={
Expand Down
Loading

0 comments on commit 7b7fafe

Please sign in to comment.