From 253b9812fbb23e4567b4fb2000998f905061bea5 Mon Sep 17 00:00:00 2001 From: Jules Rosser Date: Mon, 6 Mar 2023 11:58:57 +0000 Subject: [PATCH 1/5] getMostRecentIOuActionReportID should only check for requests --- src/libs/ReportActionsUtils.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/libs/ReportActionsUtils.js b/src/libs/ReportActionsUtils.js index e3772b055bf5..946bf78ca7f5 100644 --- a/src/libs/ReportActionsUtils.js +++ b/src/libs/ReportActionsUtils.js @@ -76,18 +76,20 @@ function getSortedReportActions(reportActions, shouldSortInDescendingOrder = fal } /** - * Finds most recent IOU report action number. + * Finds most recent IOU request action number. * * @param {Array} reportActions * @returns {String} */ function getMostRecentIOUReportActionID(reportActions) { - const iouActions = _.where(reportActions, {actionName: CONST.REPORT.ACTIONS.TYPE.IOU}); - if (_.isEmpty(iouActions)) { + const iouRequestActions = _.filter(reportActions, action => action.originalMessage + && action.originalMessage.type && action.originalMessage.type == "create"); + + if (_.isEmpty(iouRequestActions)) { return null; } - const sortedReportActions = getSortedReportActions(iouActions); + const sortedReportActions = getSortedReportActions(iouRequestActions); return _.last(sortedReportActions).reportActionID; } From 2933b886f23e1d3608dc190f664f8ecf02bfabbd Mon Sep 17 00:00:00 2001 From: Jules Rosser Date: Mon, 6 Mar 2023 12:00:48 +0000 Subject: [PATCH 2/5] improve function name after modification --- src/libs/ReportActionsUtils.js | 6 +++--- src/pages/home/report/ReportActionsView.js | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/libs/ReportActionsUtils.js b/src/libs/ReportActionsUtils.js index 946bf78ca7f5..37eb3da518e7 100644 --- a/src/libs/ReportActionsUtils.js +++ b/src/libs/ReportActionsUtils.js @@ -76,12 +76,12 @@ function getSortedReportActions(reportActions, shouldSortInDescendingOrder = fal } /** - * Finds most recent IOU request action number. + * Finds most recent IOU request action ID. * * @param {Array} reportActions * @returns {String} */ -function getMostRecentIOUReportActionID(reportActions) { +function getMostRecentIOURequestActionID(reportActions) { const iouRequestActions = _.filter(reportActions, action => action.originalMessage && action.originalMessage.type && action.originalMessage.type == "create"); @@ -228,7 +228,7 @@ export { getSortedReportActions, getLastVisibleAction, getLastVisibleMessageText, - getMostRecentIOUReportActionID, + getMostRecentIOURequestActionID, isDeletedAction, isConsecutiveActionMadeByPreviousActor, getSortedReportActionsForDisplay, diff --git a/src/pages/home/report/ReportActionsView.js b/src/pages/home/report/ReportActionsView.js index 2c65533800f9..b4dcbb0704fe 100755 --- a/src/pages/home/report/ReportActionsView.js +++ b/src/pages/home/report/ReportActionsView.js @@ -71,7 +71,7 @@ class ReportActionsView extends React.Component { }; this.currentScrollOffset = 0; - this.mostRecentIOUReportActionID = ReportActionsUtils.getMostRecentIOUReportActionID(props.reportActions); + this.mostRecentIOUReportActionID = ReportActionsUtils.getMostRecentIOURequestActionID(props.reportActions); this.trackScroll = this.trackScroll.bind(this); this.toggleFloatingMessageCounter = this.toggleFloatingMessageCounter.bind(this); this.loadMoreChats = this.loadMoreChats.bind(this); @@ -133,7 +133,7 @@ class ReportActionsView extends React.Component { shouldComponentUpdate(nextProps, nextState) { if (!_.isEqual(nextProps.reportActions, this.props.reportActions)) { this.sortedAndFilteredReportActions = ReportActionsUtils.getSortedReportActionsForDisplay(nextProps.reportActions); - this.mostRecentIOUReportActionID = ReportActionsUtils.getMostRecentIOUReportActionID(nextProps.reportActions); + this.mostRecentIOUReportActionID = ReportActionsUtils.getMostRecentIOURequestActionID(nextProps.reportActions); return true; } From 40ad35ab58044836984e44a2434a19646d1dfdc5 Mon Sep 17 00:00:00 2001 From: Jules Rosser Date: Mon, 6 Mar 2023 12:02:13 +0000 Subject: [PATCH 3/5] replace IOU create string with existing const --- src/libs/ReportActionsUtils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/ReportActionsUtils.js b/src/libs/ReportActionsUtils.js index 37eb3da518e7..d8baff3da2ab 100644 --- a/src/libs/ReportActionsUtils.js +++ b/src/libs/ReportActionsUtils.js @@ -83,7 +83,7 @@ function getSortedReportActions(reportActions, shouldSortInDescendingOrder = fal */ function getMostRecentIOURequestActionID(reportActions) { const iouRequestActions = _.filter(reportActions, action => action.originalMessage - && action.originalMessage.type && action.originalMessage.type == "create"); + && action.originalMessage.type && action.originalMessage.type == CONST.IOU.REPORT_ACTION_TYPE.CREATE); if (_.isEmpty(iouRequestActions)) { return null; From 61024b6d86c2055fbe5f17b0d538d7c722e4273f Mon Sep 17 00:00:00 2001 From: Jules Rosser Date: Mon, 6 Mar 2023 15:14:21 +0000 Subject: [PATCH 4/5] use correct equal check syntax --- src/libs/ReportActionsUtils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/ReportActionsUtils.js b/src/libs/ReportActionsUtils.js index d8baff3da2ab..cb7ec4df6c2c 100644 --- a/src/libs/ReportActionsUtils.js +++ b/src/libs/ReportActionsUtils.js @@ -83,7 +83,7 @@ function getSortedReportActions(reportActions, shouldSortInDescendingOrder = fal */ function getMostRecentIOURequestActionID(reportActions) { const iouRequestActions = _.filter(reportActions, action => action.originalMessage - && action.originalMessage.type && action.originalMessage.type == CONST.IOU.REPORT_ACTION_TYPE.CREATE); + && action.originalMessage.type && action.originalMessage.type === CONST.IOU.REPORT_ACTION_TYPE.CREATE); if (_.isEmpty(iouRequestActions)) { return null; From b1dd65d7175683acfd1c6a09b095b2938836b21c Mon Sep 17 00:00:00 2001 From: Jules Rosser Date: Tue, 7 Mar 2023 15:26:16 +0000 Subject: [PATCH 5/5] improve property lookup with lodash --- src/libs/ReportActionsUtils.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/libs/ReportActionsUtils.js b/src/libs/ReportActionsUtils.js index cb7ec4df6c2c..df55ae49faee 100644 --- a/src/libs/ReportActionsUtils.js +++ b/src/libs/ReportActionsUtils.js @@ -82,8 +82,7 @@ function getSortedReportActions(reportActions, shouldSortInDescendingOrder = fal * @returns {String} */ function getMostRecentIOURequestActionID(reportActions) { - const iouRequestActions = _.filter(reportActions, action => action.originalMessage - && action.originalMessage.type && action.originalMessage.type === CONST.IOU.REPORT_ACTION_TYPE.CREATE); + const iouRequestActions = _.filter(reportActions, action => lodashGet(action, 'originalMessage.type') === CONST.IOU.REPORT_ACTION_TYPE.CREATE); if (_.isEmpty(iouRequestActions)) { return null;