From f0a9776390c4de3caa724f7d4c28ffa784caac58 Mon Sep 17 00:00:00 2001 From: Peter Velkov Date: Thu, 16 Sep 2021 19:07:38 +0300 Subject: [PATCH 1/2] fix: maxSequenceNumber is getting overwritten with lower values Include the existing maxSequenceNumber in the logic as we might already have a higher max sequence number --- src/libs/actions/Report.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index edaf0f346a2e..0fb8f5deb3e3 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -906,13 +906,17 @@ function fetchActions(reportID, offset) { removeOptimisticActions(reportID); const indexedData = _.indexBy(data.history, 'sequenceNumber'); + Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${reportID}`, indexedData); + const maxSequenceNumber = _.chain(data.history) .pluck('sequenceNumber') .max() .value(); - Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${reportID}`, indexedData); - Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT}${reportID}`, {maxSequenceNumber}); + const currentMaxSequenceNumber = reportMaxSequenceNumbers[reportID] || 0; + if (maxSequenceNumber > currentMaxSequenceNumber) { + Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT}${reportID}`, {maxSequenceNumber}); + } }); } From bc17f85a50343caec33d542cdc81998dff96fcb7 Mon Sep 17 00:00:00 2001 From: Peter Velkov Date: Mon, 27 Sep 2021 13:40:50 +0300 Subject: [PATCH 2/2] fix: maxSequenceNumber is getting overwritten with lower values Setting `maxSequenceNumber` during `fetchActions` is no longer necessary --- src/libs/actions/Report.js | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index 0fb8f5deb3e3..f6f09da0dfb1 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -907,16 +907,6 @@ function fetchActions(reportID, offset) { const indexedData = _.indexBy(data.history, 'sequenceNumber'); Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${reportID}`, indexedData); - - const maxSequenceNumber = _.chain(data.history) - .pluck('sequenceNumber') - .max() - .value(); - - const currentMaxSequenceNumber = reportMaxSequenceNumbers[reportID] || 0; - if (maxSequenceNumber > currentMaxSequenceNumber) { - Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT}${reportID}`, {maxSequenceNumber}); - } }); }