From d9260f440c9e8f750cc7bed665cce3642e8fd34f Mon Sep 17 00:00:00 2001 From: Yauheni Date: Mon, 11 Sep 2023 13:03:08 +0200 Subject: [PATCH 01/34] Fix styles for wallet money badge which is not center vertically --- src/styles/styles.js | 2 +- src/styles/variables.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/styles/styles.js b/src/styles/styles.js index 1c1340600a51..4c4ad70eea40 100644 --- a/src/styles/styles.js +++ b/src/styles/styles.js @@ -760,7 +760,7 @@ const styles = { badgeText: { color: themeColors.text, fontSize: variables.fontSizeSmall, - lineHeight: variables.lineHeightNormal, + lineHeight: variables.lineHeightXSmall, ...whiteSpace.noWrap, }, diff --git a/src/styles/variables.ts b/src/styles/variables.ts index eb182ab1eca0..eccfc61795b8 100644 --- a/src/styles/variables.ts +++ b/src/styles/variables.ts @@ -88,6 +88,7 @@ export default { optionRowHeightCompact: 52, optionsListSectionHeaderHeight: getValueUsingPixelRatio(32, 38), overlayOpacity: 0.6, + lineHeightXSmall: getValueUsingPixelRatio(11, 17), lineHeightSmall: getValueUsingPixelRatio(14, 16), lineHeightNormal: getValueUsingPixelRatio(16, 21), lineHeightLarge: getValueUsingPixelRatio(18, 24), From 72ade3dc942914bf416b0f8b88075ec81ed5b5fb Mon Sep 17 00:00:00 2001 From: Yauheni Date: Mon, 11 Sep 2023 14:54:10 +0200 Subject: [PATCH 02/34] Update styles for safari --- src/styles/styles.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/styles/styles.js b/src/styles/styles.js index 4c4ad70eea40..e90591c9e720 100644 --- a/src/styles/styles.js +++ b/src/styles/styles.js @@ -32,6 +32,8 @@ import Colors from './colors'; // touchCallout is an iOS safari only property that controls the display of the callout information when you touch and hold a target const touchCalloutNone = Browser.isMobileSafari() ? {WebkitTouchCallout: 'none'} : {}; +const lineHeightBadgeSafari = Browser.isSafari() ? {lineHeight: variables.lineHeightXSmall} : {}; + const picker = { backgroundColor: themeColors.transparent, color: themeColors.text, @@ -760,7 +762,8 @@ const styles = { badgeText: { color: themeColors.text, fontSize: variables.fontSizeSmall, - lineHeight: variables.lineHeightXSmall, + lineHeight: variables.lineHeightNormal, + ...lineHeightBadgeSafari, ...whiteSpace.noWrap, }, From 79086884d390450b99d8b4750f940acef9a738c2 Mon Sep 17 00:00:00 2001 From: Yauheni Date: Wed, 13 Sep 2023 09:20:20 +0200 Subject: [PATCH 03/34] Refactor styles --- src/components/MenuItem.js | 4 ++-- src/styles/styles.js | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/MenuItem.js b/src/components/MenuItem.js index adf3fa0cdd80..890933ce8093 100644 --- a/src/components/MenuItem.js +++ b/src/components/MenuItem.js @@ -266,9 +266,9 @@ const MenuItem = React.forwardRef((props, ref) => { - {Boolean(props.badgeText) && ( + {true && ( Date: Wed, 13 Sep 2023 09:23:04 +0200 Subject: [PATCH 04/34] Revert changes --- src/components/MenuItem.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/MenuItem.js b/src/components/MenuItem.js index 890933ce8093..adf3fa0cdd80 100644 --- a/src/components/MenuItem.js +++ b/src/components/MenuItem.js @@ -266,9 +266,9 @@ const MenuItem = React.forwardRef((props, ref) => { - {true && ( + {Boolean(props.badgeText) && ( Date: Mon, 28 Aug 2023 09:20:46 +0200 Subject: [PATCH 05/34] fix: mention calculation trigger before value update --- .../ReportActionCompose/SuggestionMention.js | 15 ++++++--------- .../report/ReportActionCompose/Suggestions.js | 4 ++-- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/pages/home/report/ReportActionCompose/SuggestionMention.js b/src/pages/home/report/ReportActionCompose/SuggestionMention.js index 79b5d1d66e36..a76025b67b1e 100644 --- a/src/pages/home/report/ReportActionCompose/SuggestionMention.js +++ b/src/pages/home/report/ReportActionCompose/SuggestionMention.js @@ -1,4 +1,4 @@ -import React, {useState, useCallback, useRef, useImperativeHandle} from 'react'; +import React, {useState, useCallback, useRef, useImperativeHandle, useEffect} from 'react'; import PropTypes from 'prop-types'; import _ from 'underscore'; import {withOnyx} from 'react-native-onyx'; @@ -45,6 +45,7 @@ const defaultProps = { function SuggestionMention({ value, setValue, + selection, setSelection, isComposerFullSize, personalDetails, @@ -231,12 +232,9 @@ function SuggestionMention({ [getMentionOptions, personalDetails, resetSuggestions, setHighlightedMentionIndex, value], ); - const onSelectionChange = useCallback( - (e) => { - calculateMentionSuggestion(e.nativeEvent.selection.end); - }, - [calculateMentionSuggestion], - ); + useEffect(() => { + calculateMentionSuggestion(selection.end); + }, [selection, calculateMentionSuggestion]); const updateShouldShowSuggestionMenuToFalse = useCallback(() => { setSuggestionValues((prevState) => { @@ -262,12 +260,11 @@ function SuggestionMention({ forwardedRef, () => ({ resetSuggestions, - onSelectionChange, triggerHotkeyActions, setShouldBlockSuggestionCalc, updateShouldShowSuggestionMenuToFalse, }), - [onSelectionChange, resetSuggestions, setShouldBlockSuggestionCalc, triggerHotkeyActions, updateShouldShowSuggestionMenuToFalse], + [resetSuggestions, setShouldBlockSuggestionCalc, triggerHotkeyActions, updateShouldShowSuggestionMenuToFalse], ); if (!isMentionSuggestionsMenuVisible) { diff --git a/src/pages/home/report/ReportActionCompose/Suggestions.js b/src/pages/home/report/ReportActionCompose/Suggestions.js index ed2ab9586d52..b0b198161eab 100644 --- a/src/pages/home/report/ReportActionCompose/Suggestions.js +++ b/src/pages/home/report/ReportActionCompose/Suggestions.js @@ -66,8 +66,7 @@ function Suggestions({ const onSelectionChange = useCallback((e) => { const emojiHandler = suggestionEmojiRef.current.onSelectionChange(e); - const mentionHandler = suggestionMentionRef.current.onSelectionChange(e); - return emojiHandler || mentionHandler; + return emojiHandler; }, []); const updateShouldShowSuggestionMenuToFalse = useCallback(() => { @@ -102,6 +101,7 @@ function Suggestions({ value, setValue, setSelection, + selection, isComposerFullSize, updateComment, composerHeight, From 1edf8cb2fecf83c0943ea9c19be9e8ed4ee6ccd1 Mon Sep 17 00:00:00 2001 From: Janic Duplessis Date: Thu, 7 Sep 2023 12:25:19 -0400 Subject: [PATCH 06/34] Reduce SidebarLinksData render time --- src/pages/home/sidebar/SidebarLinksData.js | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/pages/home/sidebar/SidebarLinksData.js b/src/pages/home/sidebar/SidebarLinksData.js index 5d0a21038d68..243ba24cdd00 100644 --- a/src/pages/home/sidebar/SidebarLinksData.js +++ b/src/pages/home/sidebar/SidebarLinksData.js @@ -69,17 +69,29 @@ function SidebarLinksData({isFocused, allReportActions, betas, chatReports, curr const reportIDsRef = useRef(null); const isLoading = SessionUtils.didUserLogInDuringSession() && isLoadingReportData; const optionListItems = useMemo(() => { - const reportIDs = SidebarUtils.getOrderedReportIDs(currentReportID, chatReports, betas, policies, priorityMode, allReportActions); + const reportIDs = SidebarUtils.getOrderedReportIDs(null, chatReports, betas, policies, priorityMode, allReportActions); if (deepEqual(reportIDsRef.current, reportIDs)) { return reportIDsRef.current; } // We need to update existing reports only once while loading because they are updated several times during loading and causes this regression: https://github.com/Expensify/App/issues/24596#issuecomment-1681679531 - if (!isLoading || !reportIDsRef.current || (_.isEmpty(reportIDsRef.current) && currentReportID)) { + if (!isLoading || !reportIDsRef.current) { reportIDsRef.current = reportIDs; } return reportIDsRef.current || []; - }, [allReportActions, betas, chatReports, currentReportID, policies, priorityMode, isLoading]); + }, [allReportActions, betas, chatReports, policies, priorityMode, isLoading]); + + // We need to make sure the current report is in the list of reports, but we do not want + // to have to re-generate the list every time the currentReportID changes. To do that + // we first generate the list as if there was no current report, then here we check if + // the current report is missing from the list, which should very rarely happen. In this + // case we re-generate the list a 2nd time with the current report included. + const optionListItemsWithCurrentReport = useMemo(() => { + if (currentReportID && !_.contains(optionListItems, currentReportID)) { + return SidebarUtils.getOrderedReportIDs(currentReportID, chatReports, betas, policies, priorityMode, allReportActions); + } + return optionListItems; + }, [currentReportID, optionListItems, chatReports, betas, policies, priorityMode, allReportActions]); const currentReportIDRef = useRef(currentReportID); currentReportIDRef.current = currentReportID; @@ -100,7 +112,7 @@ function SidebarLinksData({isFocused, allReportActions, betas, chatReports, curr // Data props: isActiveReport={isActiveReport} isLoading={isLoading} - optionListItems={optionListItems} + optionListItems={optionListItemsWithCurrentReport} /> ); From 91cb214a02336a292acd24a16b604a96498a6aed Mon Sep 17 00:00:00 2001 From: jeet-dhandha Date: Thu, 14 Sep 2023 23:19:46 +0530 Subject: [PATCH 07/34] Handled parsing of description as html --- src/components/MenuItem.js | 34 ++++++++++++++----- .../ReportActionItem/MoneyRequestView.js | 1 + src/components/ReportActionItem/TaskView.js | 1 + 3 files changed, 28 insertions(+), 8 deletions(-) diff --git a/src/components/MenuItem.js b/src/components/MenuItem.js index adf3fa0cdd80..86df53b7c9d3 100644 --- a/src/components/MenuItem.js +++ b/src/components/MenuItem.js @@ -1,5 +1,5 @@ import _ from 'underscore'; -import React from 'react'; +import React, {useEffect} from 'react'; import {View} from 'react-native'; import Text from './Text'; import styles from '../styles/styles'; @@ -24,6 +24,8 @@ import variables from '../styles/variables'; import * as Session from '../libs/actions/Session'; import Hoverable from './Hoverable'; import useWindowDimensions from '../hooks/useWindowDimensions'; +import ExpensiMark from 'expensify-common/lib/ExpensiMark'; +import RenderHTML from './RenderHTML'; const propTypes = menuItemPropTypes; @@ -78,6 +80,7 @@ const defaultProps = { const MenuItem = React.forwardRef((props, ref) => { const {isSmallScreenWidth} = useWindowDimensions(); + const [html, setHtml] = React.useState(''); const isDeleted = _.contains(props.style, styles.offlineFeedback.deleted); const descriptionVerticalMargin = props.shouldShowDescriptionOnTop ? styles.mb1 : styles.mt1; @@ -105,6 +108,16 @@ const MenuItem = React.forwardRef((props, ref) => { const fallbackAvatarSize = props.viewMode === CONST.OPTION_MODE.COMPACT ? CONST.AVATAR_SIZE.SMALL : CONST.AVATAR_SIZE.DEFAULT; + const titleRef = React.useRef(''); + useEffect(() => { + if (!props.title || (titleRef.current.length && titleRef.current === props.title) || !props.shouldParseTitle) { + return; + } + const parser = new ExpensiMark(); + setHtml(parser.replace(props.title)); + titleRef.current = props.title; + }, [props.title, props.shouldParseTitle]); + return ( {(isHovered) => ( @@ -221,14 +234,19 @@ const MenuItem = React.forwardRef((props, ref) => { )} - {Boolean(props.title) && ( - - {convertToLTR(props.title)} - + {Boolean(html.length) ? ( + ${html}`} /> + ) : ( + Boolean(props.title) && ( + + {convertToLTR(props.title)} + + ) )} + {Boolean(props.shouldShowTitleIcon) && ( Navigation.navigate(ROUTES.getTaskReportDescriptionRoute(props.report.reportID))} From 1396912e78dc1203dd80703ad90a582a099c37ad Mon Sep 17 00:00:00 2001 From: jeet-dhandha Date: Thu, 14 Sep 2023 23:52:06 +0530 Subject: [PATCH 08/34] fix lint issue for imports --- src/components/MenuItem.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/MenuItem.js b/src/components/MenuItem.js index 86df53b7c9d3..6179676b81f0 100644 --- a/src/components/MenuItem.js +++ b/src/components/MenuItem.js @@ -1,6 +1,7 @@ import _ from 'underscore'; import React, {useEffect} from 'react'; import {View} from 'react-native'; +import ExpensiMark from 'expensify-common/lib/ExpensiMark'; import Text from './Text'; import styles from '../styles/styles'; import themeColors from '../styles/themes/default'; @@ -24,7 +25,6 @@ import variables from '../styles/variables'; import * as Session from '../libs/actions/Session'; import Hoverable from './Hoverable'; import useWindowDimensions from '../hooks/useWindowDimensions'; -import ExpensiMark from 'expensify-common/lib/ExpensiMark'; import RenderHTML from './RenderHTML'; const propTypes = menuItemPropTypes; From ad8bc7a3b6e8c19aa21a59eedf7eecc6613977a7 Mon Sep 17 00:00:00 2001 From: jeet-dhandha Date: Thu, 14 Sep 2023 23:52:48 +0530 Subject: [PATCH 09/34] fix lint issue for boolean call --- src/components/MenuItem.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/MenuItem.js b/src/components/MenuItem.js index 6179676b81f0..a4f265df4878 100644 --- a/src/components/MenuItem.js +++ b/src/components/MenuItem.js @@ -234,7 +234,7 @@ const MenuItem = React.forwardRef((props, ref) => { )} - {Boolean(html.length) ? ( + {html.length ? ( ${html}`} /> ) : ( Boolean(props.title) && ( From b662396056b723221654e7134e3ee2ffc63d8a21 Mon Sep 17 00:00:00 2001 From: Yauheni Date: Fri, 15 Sep 2023 00:18:34 +0200 Subject: [PATCH 10/34] Fix conflicts --- src/styles/styles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/styles.js b/src/styles/styles.js index f07d7d43be9d..f863f56d27f2 100644 --- a/src/styles/styles.js +++ b/src/styles/styles.js @@ -34,7 +34,7 @@ const touchCalloutNone = Browser.isMobileSafari() ? {WebkitTouchCallout: 'none'} const lineHeightBadge = getPlatform() === CONST.PLATFORM.WEB ? {lineHeight: variables.lineHeightXSmall} : {lineHeight: variables.lineHeightNormal}; -const picker = { +const picker = (theme) => ({ backgroundColor: theme.transparent, color: theme.text, fontFamily: fontFamily.EXP_NEUE, From aa46cf22c61cc45aa38774b329f0bfc1dc0604cd Mon Sep 17 00:00:00 2001 From: Georgia Monahan Date: Fri, 15 Sep 2023 09:29:50 +0800 Subject: [PATCH 11/34] Add empty state background to threads --- src/pages/home/report/ReportActionItemParentAction.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pages/home/report/ReportActionItemParentAction.js b/src/pages/home/report/ReportActionItemParentAction.js index 68c5163643b5..8e1fb6aafdd4 100644 --- a/src/pages/home/report/ReportActionItemParentAction.js +++ b/src/pages/home/report/ReportActionItemParentAction.js @@ -1,5 +1,5 @@ import React from 'react'; -import {View} from 'react-native'; +import {View, Image} from 'react-native'; import lodashGet from 'lodash/get'; import {withOnyx} from 'react-native-onyx'; import PropTypes from 'prop-types'; @@ -15,6 +15,7 @@ import withLocalize from '../../../components/withLocalize'; import ReportActionItem from './ReportActionItem'; import reportActionPropTypes from './reportActionPropTypes'; import * as ReportActionsUtils from '../../../libs/ReportActionsUtils'; +import EmptyStateBackgroundImage from '../../../../assets/images/empty-state_background-fade.png'; const propTypes = { /** Flag to show, hide the thread divider line */ @@ -60,6 +61,11 @@ function ReportActionItemParentAction(props) { onClose={() => Report.navigateToConciergeChatAndDeleteReport(props.report.reportID)} > + {parentReportAction && ( Date: Fri, 15 Sep 2023 07:05:32 +0100 Subject: [PATCH 12/34] prevent a route refresh when adding stops or deleting empty waypoints --- src/libs/TransactionUtils.js | 1 + src/libs/actions/Transaction.js | 35 ++++++++++++++++----------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/libs/TransactionUtils.js b/src/libs/TransactionUtils.js index 4ca8b48d284e..dccabd74772b 100644 --- a/src/libs/TransactionUtils.js +++ b/src/libs/TransactionUtils.js @@ -384,4 +384,5 @@ export { isDistanceRequest, hasMissingSmartscanFields, getWaypointIndex, + waypointHasValidAddress, }; diff --git a/src/libs/actions/Transaction.js b/src/libs/actions/Transaction.js index b16e8c8753ac..663dfd1c8564 100644 --- a/src/libs/actions/Transaction.js +++ b/src/libs/actions/Transaction.js @@ -5,6 +5,7 @@ import lodashHas from 'lodash/has'; import ONYXKEYS from '../../ONYXKEYS'; import * as CollectionUtils from '../CollectionUtils'; import * as API from '../API'; +import * as TransactionUtils from '../TransactionUtils'; let recentWaypoints = []; Onyx.connect({ @@ -55,15 +56,6 @@ function addStop(transactionID) { [`waypoint${newLastIndex}`]: {}, }, }, - - // Clear the existing route so that we don't show an old route - routes: { - route0: { - geometry: { - coordinates: null, - }, - }, - }, }); } @@ -124,7 +116,8 @@ function removeWaypoint(transactionID, currentIndex) { } const waypointValues = _.values(existingWaypoints); - waypointValues.splice(index, 1); + const removed = waypointValues.splice(index, 1); + const isRemovedWaypointEmpty = removed.length > 0 && !TransactionUtils.waypointHasValidAddress(removed[0]); const reIndexedWaypoints = {}; waypointValues.forEach((waypoint, idx) => { @@ -134,21 +127,27 @@ function removeWaypoint(transactionID, currentIndex) { // Onyx.merge won't remove the null nested object values, this is a workaround // to remove nested keys while also preserving other object keys // Doing a deep clone of the transaction to avoid mutating the original object and running into a cache issue when using Onyx.set - const newTransaction = { + let newTransaction = { ...transaction, comment: { ...transaction.comment, waypoints: reIndexedWaypoints, }, - // Clear the existing route so that we don't show an old route - routes: { - route0: { - geometry: { - coordinates: null, + }; + + if (!isRemovedWaypointEmpty) { + newTransaction = { + ...newTransaction, + // Clear the existing route so that we don't show an old route + routes: { + route0: { + geometry: { + coordinates: null, + }, }, }, - }, - }; + }; + } Onyx.set(`${ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, newTransaction); } From f69c2c8ad7056beb290610d5f0da1d9aaa81d07e Mon Sep 17 00:00:00 2001 From: jeet-dhandha Date: Fri, 15 Sep 2023 21:00:13 +0530 Subject: [PATCH 13/34] handle title parsing in NewTask and NewMoneyRequest --- src/components/MoneyRequestConfirmationList.js | 1 + src/pages/tasks/NewTaskPage.js | 1 + 2 files changed, 2 insertions(+) diff --git a/src/components/MoneyRequestConfirmationList.js b/src/components/MoneyRequestConfirmationList.js index da98d324681e..cba2359eb257 100755 --- a/src/components/MoneyRequestConfirmationList.js +++ b/src/components/MoneyRequestConfirmationList.js @@ -455,6 +455,7 @@ function MoneyRequestConfirmationList(props) { )} Navigation.navigate(ROUTES.getMoneyRequestDescriptionRoute(props.iouType, props.reportID))} diff --git a/src/pages/tasks/NewTaskPage.js b/src/pages/tasks/NewTaskPage.js index 99050e73bda0..9fb600e40753 100644 --- a/src/pages/tasks/NewTaskPage.js +++ b/src/pages/tasks/NewTaskPage.js @@ -162,6 +162,7 @@ function NewTaskPage(props) { title={description} onPress={() => Navigation.navigate(ROUTES.NEW_TASK_DESCRIPTION)} shouldShowRightIcon + shouldParseTitle numberOfLinesTitle={2} titleStyle={styles.flex1} /> From 8c7113956bd6a5a4b22c5cf3833f5e137e048e0f Mon Sep 17 00:00:00 2001 From: jeet-dhandha Date: Fri, 15 Sep 2023 21:04:29 +0530 Subject: [PATCH 14/34] added default value in props --- src/components/MenuItem.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/MenuItem.js b/src/components/MenuItem.js index a4f265df4878..bceaa57432cb 100644 --- a/src/components/MenuItem.js +++ b/src/components/MenuItem.js @@ -36,6 +36,7 @@ const defaultProps = { shouldShowBasicTitle: false, shouldShowDescriptionOnTop: false, shouldShowHeaderTitle: false, + shouldParseTitle: false, wrapperStyle: [], style: styles.popoverMenuItem, titleStyle: {}, From 35a05b1c18493246c0b37d6578731930ceb9d04b Mon Sep 17 00:00:00 2001 From: jeet-dhandha Date: Fri, 15 Sep 2023 21:12:43 +0530 Subject: [PATCH 15/34] handled convertToLTR --- src/components/MenuItem.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/MenuItem.js b/src/components/MenuItem.js index 5f66cd6e1174..ce6e6d53455b 100644 --- a/src/components/MenuItem.js +++ b/src/components/MenuItem.js @@ -115,7 +115,7 @@ const MenuItem = React.forwardRef((props, ref) => { return; } const parser = new ExpensiMark(); - setHtml(parser.replace(props.title)); + setHtml(parser.replace(convertToLTR(props.title))); titleRef.current = props.title; }, [props.title, props.shouldParseTitle]); From c39ace290fb0a9c6b32a19c39dd48beb5ed6f623 Mon Sep 17 00:00:00 2001 From: jeet-dhandha Date: Fri, 15 Sep 2023 21:26:25 +0530 Subject: [PATCH 16/34] refactored code for better readability --- src/components/MenuItem.js | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/components/MenuItem.js b/src/components/MenuItem.js index ce6e6d53455b..2fc89e7542a0 100644 --- a/src/components/MenuItem.js +++ b/src/components/MenuItem.js @@ -235,19 +235,16 @@ const MenuItem = React.forwardRef((props, ref) => { )} - {!props.shouldRenderAsHTML && - (html.length ? ( - ${html}`} /> - ) : ( - Boolean(props.title) && ( - - {convertToLTR(props.title)} - - ) - ))} + {!props.shouldRenderAsHTML && Boolean(html.length) && ${html}`} />} + + {!props.shouldRenderAsHTML && !Boolean(html.length) && Boolean(props.title) && ( + + {convertToLTR(props.title)} + + )} {Boolean(props.title) && Boolean(props.shouldRenderAsHTML) && } From 67db7aa35f0ae17df49b15ca88420227b7dee4a5 Mon Sep 17 00:00:00 2001 From: jeet-dhandha Date: Fri, 15 Sep 2023 21:28:55 +0530 Subject: [PATCH 17/34] refactored code --- src/components/MenuItem.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/MenuItem.js b/src/components/MenuItem.js index 2fc89e7542a0..9840531aa1bf 100644 --- a/src/components/MenuItem.js +++ b/src/components/MenuItem.js @@ -235,7 +235,9 @@ const MenuItem = React.forwardRef((props, ref) => { )} - {!props.shouldRenderAsHTML && Boolean(html.length) && ${html}`} />} + {Boolean(props.title) && Boolean(props.shouldRenderAsHTML) && } + + {Boolean(html.length) && !props.shouldRenderAsHTML && ${html}`} />} {!props.shouldRenderAsHTML && !Boolean(html.length) && Boolean(props.title) && ( { )} - {Boolean(props.title) && Boolean(props.shouldRenderAsHTML) && } - {Boolean(props.shouldShowTitleIcon) && ( Date: Fri, 15 Sep 2023 18:00:46 +0200 Subject: [PATCH 18/34] chore: add selection proptype --- .../home/report/ReportActionCompose/suggestionProps.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/pages/home/report/ReportActionCompose/suggestionProps.js b/src/pages/home/report/ReportActionCompose/suggestionProps.js index 24cf51b018c4..12447929b980 100644 --- a/src/pages/home/report/ReportActionCompose/suggestionProps.js +++ b/src/pages/home/report/ReportActionCompose/suggestionProps.js @@ -7,6 +7,12 @@ const baseProps = { /** Callback to update the current input value */ setValue: PropTypes.func.isRequired, + /** The current selection value */ + selection: PropTypes.shape({ + start: PropTypes.number.isRequired, + end: PropTypes.number.isRequired, + }).isRequired, + /** Callback to update the current selection */ setSelection: PropTypes.func.isRequired, From 04551a3bba13bd87f111dd113f25e0a953b1a64d Mon Sep 17 00:00:00 2001 From: wikuskriek Date: Fri, 15 Sep 2023 18:10:23 +0200 Subject: [PATCH 19/34] chore: cleanup redundant code --- .../home/report/ReportActionCompose/SuggestionEmoji.js | 6 ------ src/pages/home/report/ReportActionCompose/Suggestions.js | 1 - 2 files changed, 7 deletions(-) diff --git a/src/pages/home/report/ReportActionCompose/SuggestionEmoji.js b/src/pages/home/report/ReportActionCompose/SuggestionEmoji.js index 687570af12e6..a760627e53cc 100644 --- a/src/pages/home/report/ReportActionCompose/SuggestionEmoji.js +++ b/src/pages/home/report/ReportActionCompose/SuggestionEmoji.js @@ -42,12 +42,6 @@ const propTypes = { /** Callback when a emoji was inserted */ onInsertedEmoji: PropTypes.func.isRequired, - /** The current selection */ - selection: PropTypes.shape({ - start: PropTypes.number.isRequired, - end: PropTypes.number.isRequired, - }).isRequired, - ...SuggestionProps.baseProps, }; diff --git a/src/pages/home/report/ReportActionCompose/Suggestions.js b/src/pages/home/report/ReportActionCompose/Suggestions.js index b0b198161eab..60cb9de4ccfb 100644 --- a/src/pages/home/report/ReportActionCompose/Suggestions.js +++ b/src/pages/home/report/ReportActionCompose/Suggestions.js @@ -116,7 +116,6 @@ function Suggestions({ ref={suggestionEmojiRef} // eslint-disable-next-line react/jsx-props-no-spreading {...baseProps} - selection={selection} onInsertedEmoji={onInsertedEmoji} resetKeyboardInput={resetKeyboardInput} /> From d23d1e18884b2783f44482a9916793d2fc0e8e5b Mon Sep 17 00:00:00 2001 From: Akinwale Ariwodola Date: Sun, 17 Sep 2023 17:09:02 +0100 Subject: [PATCH 20/34] fetch the route only if the validated waypoints have changed --- src/components/DistanceRequest.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/DistanceRequest.js b/src/components/DistanceRequest.js index bf5a4cb9548b..74868cf6520b 100644 --- a/src/components/DistanceRequest.js +++ b/src/components/DistanceRequest.js @@ -109,10 +109,11 @@ function DistanceRequest({iou, iouType, report, transaction, mapboxAccessToken, const lastWaypointIndex = numberOfWaypoints - 1; const isLoadingRoute = lodashGet(transaction, 'comment.isLoading', false); const hasRouteError = !!lodashGet(transaction, 'errorFields.route'); - const haveWaypointsChanged = !_.isEqual(previousWaypoints, waypoints); const doesRouteExist = lodashHas(transaction, 'routes.route0.geometry.coordinates'); const validatedWaypoints = TransactionUtils.getValidWaypoints(waypoints); - const shouldFetchRoute = (!doesRouteExist || haveWaypointsChanged) && !isLoadingRoute && _.size(validatedWaypoints) > 1; + const previousValidatedWaypoints = usePrevious(validatedWaypoints); + const haveValidatedWaypointsChanged = !_.isEqual(previousValidatedWaypoints, validatedWaypoints); + const shouldFetchRoute = (!doesRouteExist || haveValidatedWaypointsChanged) && !isLoadingRoute && _.size(validatedWaypoints) > 1; const waypointMarkers = useMemo( () => _.filter( From 1462a6d5aaff1ca9fc291b9eade45e1a9549e875 Mon Sep 17 00:00:00 2001 From: Bartosz Grajdek Date: Sun, 17 Sep 2023 19:33:47 +0200 Subject: [PATCH 21/34] [TS migration] Migrate 'LocalePhoneNumber.js' lib to TypeScript --- .../{LocalePhoneNumber.js => LocalePhoneNumber.ts} | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) rename src/libs/{LocalePhoneNumber.js => LocalePhoneNumber.ts} (82%) diff --git a/src/libs/LocalePhoneNumber.js b/src/libs/LocalePhoneNumber.ts similarity index 82% rename from src/libs/LocalePhoneNumber.js rename to src/libs/LocalePhoneNumber.ts index e5c7cbfa45ba..962040aee049 100644 --- a/src/libs/LocalePhoneNumber.js +++ b/src/libs/LocalePhoneNumber.ts @@ -3,20 +3,17 @@ import Str from 'expensify-common/lib/str'; import {parsePhoneNumber} from 'awesome-phonenumber'; import ONYXKEYS from '../ONYXKEYS'; -let countryCodeByIP; +let countryCodeByIP: number; Onyx.connect({ key: ONYXKEYS.COUNTRY_CODE, - callback: (val) => (countryCodeByIP = val || 1), + callback: (val) => (countryCodeByIP = val ?? 1), }); /** * Returns a locally converted phone number for numbers from the same region * and an internationally converted phone number with the country code for numbers from other regions - * - * @param {String} number - * @returns {String} */ -function formatPhoneNumber(number) { +function formatPhoneNumber(number: string): string { if (!number) { return ''; } @@ -26,7 +23,7 @@ function formatPhoneNumber(number) { // return the string untouched if it's not a phone number if (!parsedPhoneNumber.valid) { - if (parsedPhoneNumber.number && parsedPhoneNumber.number.international) { + if (parsedPhoneNumber.number?.international) { return parsedPhoneNumber.number.international; } return numberWithoutSMSDomain; From 7c01fc286c7490daef3adeac37a59f94441a72c9 Mon Sep 17 00:00:00 2001 From: jeet-dhandha Date: Mon, 18 Sep 2023 09:49:10 +0530 Subject: [PATCH 22/34] lint fix --- src/components/MenuItem.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/MenuItem.js b/src/components/MenuItem.js index 9840531aa1bf..426056c9db4a 100644 --- a/src/components/MenuItem.js +++ b/src/components/MenuItem.js @@ -239,7 +239,7 @@ const MenuItem = React.forwardRef((props, ref) => { {Boolean(html.length) && !props.shouldRenderAsHTML && ${html}`} />} - {!props.shouldRenderAsHTML && !Boolean(html.length) && Boolean(props.title) && ( + {!props.shouldRenderAsHTML && !html.length && Boolean(props.title) && ( Date: Mon, 18 Sep 2023 09:05:26 +0200 Subject: [PATCH 23/34] Add comment --- src/styles/styles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/styles.js b/src/styles/styles.js index f863f56d27f2..a91320617690 100644 --- a/src/styles/styles.js +++ b/src/styles/styles.js @@ -31,7 +31,7 @@ import Colors from './colors'; // touchCallout is an iOS safari only property that controls the display of the callout information when you touch and hold a target const touchCalloutNone = Browser.isMobileSafari() ? {WebkitTouchCallout: 'none'} : {}; - +// to prevent vertical text offset in browsers for badges, new lineHeight values have been added const lineHeightBadge = getPlatform() === CONST.PLATFORM.WEB ? {lineHeight: variables.lineHeightXSmall} : {lineHeight: variables.lineHeightNormal}; const picker = (theme) => ({ From 5305a7bb534f3e3302e3a8f2c03d324801fcd86a Mon Sep 17 00:00:00 2001 From: Yauheni Date: Mon, 18 Sep 2023 10:21:00 +0200 Subject: [PATCH 24/34] Make changes only for Safari --- src/styles/styles.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/styles/styles.js b/src/styles/styles.js index a91320617690..e4e9692c4d61 100644 --- a/src/styles/styles.js +++ b/src/styles/styles.js @@ -22,7 +22,6 @@ import pointerEventsAuto from './pointerEventsAuto'; import getPopOverVerticalOffset from './getPopOverVerticalOffset'; import overflowXHidden from './overflowXHidden'; import CONST from '../CONST'; -import getPlatform from '../libs/getPlatform'; import * as Browser from '../libs/Browser'; import cursor from './utilities/cursor'; import userSelect from './utilities/userSelect'; @@ -31,8 +30,8 @@ import Colors from './colors'; // touchCallout is an iOS safari only property that controls the display of the callout information when you touch and hold a target const touchCalloutNone = Browser.isMobileSafari() ? {WebkitTouchCallout: 'none'} : {}; -// to prevent vertical text offset in browsers for badges, new lineHeight values have been added -const lineHeightBadge = getPlatform() === CONST.PLATFORM.WEB ? {lineHeight: variables.lineHeightXSmall} : {lineHeight: variables.lineHeightNormal}; +// to prevent vertical text offset in Safari for badges, new lineHeight values have been added +const lineHeightBadge = Browser.isSafari ? {lineHeight: variables.lineHeightXSmall} : {lineHeight: variables.lineHeightNormal}; const picker = (theme) => ({ backgroundColor: theme.transparent, From 8f6dd9264843d6711e613d326e219938c12be8cc Mon Sep 17 00:00:00 2001 From: Yauheni Date: Mon, 18 Sep 2023 10:21:39 +0200 Subject: [PATCH 25/34] Make changes only for Safari x2 --- src/styles/styles.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/styles/styles.js b/src/styles/styles.js index e4e9692c4d61..0c88d5aa74f5 100644 --- a/src/styles/styles.js +++ b/src/styles/styles.js @@ -31,7 +31,7 @@ import Colors from './colors'; // touchCallout is an iOS safari only property that controls the display of the callout information when you touch and hold a target const touchCalloutNone = Browser.isMobileSafari() ? {WebkitTouchCallout: 'none'} : {}; // to prevent vertical text offset in Safari for badges, new lineHeight values have been added -const lineHeightBadge = Browser.isSafari ? {lineHeight: variables.lineHeightXSmall} : {lineHeight: variables.lineHeightNormal}; +const lineHeightBadge = Browser.isSafari() ? {lineHeight: variables.lineHeightXSmall} : {lineHeight: variables.lineHeightNormal}; const picker = (theme) => ({ backgroundColor: theme.transparent, From 0ba2abadf2abcf31316092665b49cf910e7c6891 Mon Sep 17 00:00:00 2001 From: mkhutornyi Date: Mon, 18 Sep 2023 09:28:13 +0100 Subject: [PATCH 26/34] fix infinite loading after first opening personal details page --- src/hooks/usePrivatePersonalDetails.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/hooks/usePrivatePersonalDetails.js b/src/hooks/usePrivatePersonalDetails.js index 37eb63dcd0fd..14c1e42e629a 100644 --- a/src/hooks/usePrivatePersonalDetails.js +++ b/src/hooks/usePrivatePersonalDetails.js @@ -1,4 +1,5 @@ import {useEffect, useContext} from 'react'; +import _ from 'underscore'; import * as PersonalDetails from '../libs/actions/PersonalDetails'; import {NetworkContext} from '../components/OnyxProvider'; @@ -9,7 +10,8 @@ export default function usePrivatePersonalDetails() { const {isOffline} = useContext(NetworkContext); useEffect(() => { - if (isOffline || Boolean(PersonalDetails.getPrivatePersonalDetails())) { + const personalDetails = PersonalDetails.getPrivatePersonalDetails(); + if (isOffline || (Boolean(personalDetails) && !_.isUndefined(personalDetails.isLoading))) { return; } PersonalDetails.openPersonalDetailsPage(); From 60b8dae619d5e174c1b4954812f8ae3c55a5c4b8 Mon Sep 17 00:00:00 2001 From: OSBotify Date: Mon, 18 Sep 2023 09:19:13 +0000 Subject: [PATCH 27/34] Update version to 1.3.70-8 --- android/app/build.gradle | 4 ++-- ios/NewExpensify/Info.plist | 2 +- ios/NewExpensifyTests/Info.plist | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index c6a9c3147118..34947de4d800 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -90,8 +90,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001037007 - versionName "1.3.70-7" + versionCode 1001037008 + versionName "1.3.70-8" } flavorDimensions "default" diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist index 03dcc7770df0..d0a549b30658 100644 --- a/ios/NewExpensify/Info.plist +++ b/ios/NewExpensify/Info.plist @@ -40,7 +40,7 @@ CFBundleVersion - 1.3.70.7 + 1.3.70.8 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist index 941d232244e1..b42d2e5e63f2 100644 --- a/ios/NewExpensifyTests/Info.plist +++ b/ios/NewExpensifyTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.3.70.7 + 1.3.70.8 diff --git a/package-lock.json b/package-lock.json index 382dcf45f55e..7b9564ce49d5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "new.expensify", - "version": "1.3.70-7", + "version": "1.3.70-8", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "new.expensify", - "version": "1.3.70-7", + "version": "1.3.70-8", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 0073dedb741c..dc09d0415394 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.3.70-7", + "version": "1.3.70-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.", From d3dba3f5ac2d296afe271dcd8dbbd53df6a6c703 Mon Sep 17 00:00:00 2001 From: jeet-dhandha Date: Mon, 18 Sep 2023 14:55:43 +0530 Subject: [PATCH 28/34] added shouldParseTitle for better conditions --- src/components/MenuItem.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/MenuItem.js b/src/components/MenuItem.js index 426056c9db4a..d12394766054 100644 --- a/src/components/MenuItem.js +++ b/src/components/MenuItem.js @@ -237,7 +237,7 @@ const MenuItem = React.forwardRef((props, ref) => { {Boolean(props.title) && Boolean(props.shouldRenderAsHTML) && } - {Boolean(html.length) && !props.shouldRenderAsHTML && ${html}`} />} + {Boolean(props.shouldParseTitle) && Boolean(html.length) && !props.shouldRenderAsHTML && ${html}`} />} {!props.shouldRenderAsHTML && !html.length && Boolean(props.title) && ( Date: Mon, 18 Sep 2023 09:56:43 +0000 Subject: [PATCH 29/34] Update version to 1.3.71-0 --- android/app/build.gradle | 4 ++-- ios/NewExpensify/Info.plist | 4 ++-- ios/NewExpensifyTests/Info.plist | 4 ++-- package-lock.json | 4 ++-- package.json | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 34947de4d800..bbf79ec8c5a4 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -90,8 +90,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001037008 - versionName "1.3.70-8" + versionCode 1001037100 + versionName "1.3.71-0" } flavorDimensions "default" diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist index d0a549b30658..c4132cf9b5fa 100644 --- a/ios/NewExpensify/Info.plist +++ b/ios/NewExpensify/Info.plist @@ -19,7 +19,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.3.70 + 1.3.71 CFBundleSignature ???? CFBundleURLTypes @@ -40,7 +40,7 @@ CFBundleVersion - 1.3.70.8 + 1.3.71.0 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist index b42d2e5e63f2..99cce4f0a892 100644 --- a/ios/NewExpensifyTests/Info.plist +++ b/ios/NewExpensifyTests/Info.plist @@ -15,10 +15,10 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.3.70 + 1.3.71 CFBundleSignature ???? CFBundleVersion - 1.3.70.8 + 1.3.71.0 diff --git a/package-lock.json b/package-lock.json index 7b9564ce49d5..4ba5353504b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "new.expensify", - "version": "1.3.70-8", + "version": "1.3.71-0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "new.expensify", - "version": "1.3.70-8", + "version": "1.3.71-0", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index dc09d0415394..0efce8a78261 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.3.70-8", + "version": "1.3.71-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.", From 06e8d3ac13d9b45cae26e0967ff787998d5a4820 Mon Sep 17 00:00:00 2001 From: OSBotify Date: Mon, 18 Sep 2023 10:28:49 +0000 Subject: [PATCH 30/34] Update version to 1.3.71-1 --- android/app/build.gradle | 4 ++-- ios/NewExpensify/Info.plist | 2 +- ios/NewExpensifyTests/Info.plist | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index bbf79ec8c5a4..9bc2a1e24bf5 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -90,8 +90,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001037100 - versionName "1.3.71-0" + versionCode 1001037101 + versionName "1.3.71-1" } flavorDimensions "default" diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist index c4132cf9b5fa..86a205467c09 100644 --- a/ios/NewExpensify/Info.plist +++ b/ios/NewExpensify/Info.plist @@ -40,7 +40,7 @@ CFBundleVersion - 1.3.71.0 + 1.3.71.1 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist index 99cce4f0a892..eb7445c642c9 100644 --- a/ios/NewExpensifyTests/Info.plist +++ b/ios/NewExpensifyTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.3.71.0 + 1.3.71.1 diff --git a/package-lock.json b/package-lock.json index 4ba5353504b7..13bf851ec905 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "new.expensify", - "version": "1.3.71-0", + "version": "1.3.71-1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "new.expensify", - "version": "1.3.71-0", + "version": "1.3.71-1", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 0efce8a78261..0f271bd5e6eb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.3.71-0", + "version": "1.3.71-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 a211b6dc7628f2b1412d0fc24d4bf9ed26d6ab21 Mon Sep 17 00:00:00 2001 From: OSBotify Date: Mon, 18 Sep 2023 11:59:04 +0000 Subject: [PATCH 31/34] Update version to 1.3.71-2 --- android/app/build.gradle | 4 ++-- ios/NewExpensify/Info.plist | 2 +- ios/NewExpensifyTests/Info.plist | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 9bc2a1e24bf5..04d66b326184 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -90,8 +90,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001037101 - versionName "1.3.71-1" + versionCode 1001037102 + versionName "1.3.71-2" } flavorDimensions "default" diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist index 86a205467c09..e0d3b2454561 100644 --- a/ios/NewExpensify/Info.plist +++ b/ios/NewExpensify/Info.plist @@ -40,7 +40,7 @@ CFBundleVersion - 1.3.71.1 + 1.3.71.2 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist index eb7445c642c9..a5de0b39bdff 100644 --- a/ios/NewExpensifyTests/Info.plist +++ b/ios/NewExpensifyTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.3.71.1 + 1.3.71.2 diff --git a/package-lock.json b/package-lock.json index 13bf851ec905..4b42a8a292e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "new.expensify", - "version": "1.3.71-1", + "version": "1.3.71-2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "new.expensify", - "version": "1.3.71-1", + "version": "1.3.71-2", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 0f271bd5e6eb..6b921644470b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.3.71-1", + "version": "1.3.71-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 894521c4d7d9697ccc60c7965c84027f26cefe72 Mon Sep 17 00:00:00 2001 From: OSBotify Date: Mon, 18 Sep 2023 12:17:13 +0000 Subject: [PATCH 32/34] Update version to 1.3.71-3 --- android/app/build.gradle | 4 ++-- ios/NewExpensify/Info.plist | 2 +- ios/NewExpensifyTests/Info.plist | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 04d66b326184..4af8ec93ab4f 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -90,8 +90,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001037102 - versionName "1.3.71-2" + versionCode 1001037103 + versionName "1.3.71-3" } flavorDimensions "default" diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist index e0d3b2454561..ddf859ab101b 100644 --- a/ios/NewExpensify/Info.plist +++ b/ios/NewExpensify/Info.plist @@ -40,7 +40,7 @@ CFBundleVersion - 1.3.71.2 + 1.3.71.3 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist index a5de0b39bdff..a36a670f3889 100644 --- a/ios/NewExpensifyTests/Info.plist +++ b/ios/NewExpensifyTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.3.71.2 + 1.3.71.3 diff --git a/package-lock.json b/package-lock.json index 4b42a8a292e3..0deaa837649c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "new.expensify", - "version": "1.3.71-2", + "version": "1.3.71-3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "new.expensify", - "version": "1.3.71-2", + "version": "1.3.71-3", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 6b921644470b..c6fccfe7e719 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.3.71-2", + "version": "1.3.71-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.", From 926dc6ab0cb3f86541b4c1b7cd2da7131d2a3149 Mon Sep 17 00:00:00 2001 From: OSBotify Date: Mon, 18 Sep 2023 12:18:05 +0000 Subject: [PATCH 33/34] Update version to 1.3.71-4 --- android/app/build.gradle | 4 ++-- ios/NewExpensify/Info.plist | 2 +- ios/NewExpensifyTests/Info.plist | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 4af8ec93ab4f..eb198b9b3afa 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -90,8 +90,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001037103 - versionName "1.3.71-3" + versionCode 1001037104 + versionName "1.3.71-4" } flavorDimensions "default" diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist index ddf859ab101b..c8deb3482c8d 100644 --- a/ios/NewExpensify/Info.plist +++ b/ios/NewExpensify/Info.plist @@ -40,7 +40,7 @@ CFBundleVersion - 1.3.71.3 + 1.3.71.4 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist index a36a670f3889..636fef850a34 100644 --- a/ios/NewExpensifyTests/Info.plist +++ b/ios/NewExpensifyTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.3.71.3 + 1.3.71.4 diff --git a/package-lock.json b/package-lock.json index 0deaa837649c..4b0bfdbe0aef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "new.expensify", - "version": "1.3.71-3", + "version": "1.3.71-4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "new.expensify", - "version": "1.3.71-3", + "version": "1.3.71-4", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index c6fccfe7e719..d947c5ac378a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.3.71-3", + "version": "1.3.71-4", "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 5b2471564fc417863d0df24ba8c5624ce46a049d Mon Sep 17 00:00:00 2001 From: OSBotify Date: Mon, 18 Sep 2023 12:31:20 +0000 Subject: [PATCH 34/34] Update version to 1.3.71-5 --- android/app/build.gradle | 4 ++-- ios/NewExpensify/Info.plist | 2 +- ios/NewExpensifyTests/Info.plist | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index eb198b9b3afa..f957ea7c5854 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -90,8 +90,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1001037104 - versionName "1.3.71-4" + versionCode 1001037105 + versionName "1.3.71-5" } flavorDimensions "default" diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist index c8deb3482c8d..07e1cfae80ac 100644 --- a/ios/NewExpensify/Info.plist +++ b/ios/NewExpensify/Info.plist @@ -40,7 +40,7 @@ CFBundleVersion - 1.3.71.4 + 1.3.71.5 ITSAppUsesNonExemptEncryption LSApplicationQueriesSchemes diff --git a/ios/NewExpensifyTests/Info.plist b/ios/NewExpensifyTests/Info.plist index 636fef850a34..49d12cf93594 100644 --- a/ios/NewExpensifyTests/Info.plist +++ b/ios/NewExpensifyTests/Info.plist @@ -19,6 +19,6 @@ CFBundleSignature ???? CFBundleVersion - 1.3.71.4 + 1.3.71.5 diff --git a/package-lock.json b/package-lock.json index 4b0bfdbe0aef..6a366d6c61a1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "new.expensify", - "version": "1.3.71-4", + "version": "1.3.71-5", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "new.expensify", - "version": "1.3.71-4", + "version": "1.3.71-5", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index d947c5ac378a..0605d44d89fc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "1.3.71-4", + "version": "1.3.71-5", "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.",