From 63dacc562bc37228117ff37fafdad0b49344308d Mon Sep 17 00:00:00 2001 From: Yuwen Memon Date: Mon, 13 Dec 2021 18:30:34 -0800 Subject: [PATCH 1/2] Make sure that we reduce the unread message count when we delete an unread message --- src/libs/actions/Report.js | 7 ++++++- src/libs/actions/ReportActions.js | 6 +++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index 75ffcad090cc..91c90f54c4b0 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -538,7 +538,12 @@ function setNewMarkerPosition(reportID, sequenceNumber) { function updateReportActionMessage(reportID, sequenceNumber, message) { const actionToMerge = {}; actionToMerge[sequenceNumber] = {message: [message]}; - Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${reportID}`, actionToMerge); + Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${reportID}`, actionToMerge).then(() => { + // If the message is deleted, update the last read in case the deleted message is being counted in the unreadActionCount + if (!message.text) { + setLocalLastRead(reportID, lastReadSequenceNumbers[reportID]); + } + }); // If this is the most recent message, update the lastMessageText in the report object as well if (sequenceNumber === reportMaxSequenceNumbers[reportID]) { diff --git a/src/libs/actions/ReportActions.js b/src/libs/actions/ReportActions.js index e80bbad61c56..7b4810697d94 100644 --- a/src/libs/actions/ReportActions.js +++ b/src/libs/actions/ReportActions.js @@ -83,15 +83,15 @@ function getDeletedCommentsCount(reportID, sequenceNumber) { return 0; } - return _.reduce(reportActions[reportID], (deletedMessages, action) => { + return _.reduce(reportActions[reportID], (numDeletedMessages, action) => { if (action.actionName !== CONST.REPORT.ACTIONS.TYPE.ADDCOMMENT || action.sequenceNumber <= sequenceNumber) { - return deletedMessages; + return numDeletedMessages; } // Empty ADDCOMMENT actions typically mean they have been deleted const message = _.first(lodashGet(action, 'message', null)); const html = lodashGet(message, 'html', ''); - return _.isEmpty(html) ? deletedMessages + 1 : deletedMessages; + return _.isEmpty(html) ? numDeletedMessages + 1 : numDeletedMessages; }, 0); } From dccff9c423261bfffc690393b7322897c775acde Mon Sep 17 00:00:00 2001 From: Yuwen Memon Date: Mon, 13 Dec 2021 21:49:44 -0800 Subject: [PATCH 2/2] JS Linter --- src/libs/actions/Report.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index 91c90f54c4b0..b9ce630f1c2b 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -539,10 +539,13 @@ function updateReportActionMessage(reportID, sequenceNumber, message) { const actionToMerge = {}; actionToMerge[sequenceNumber] = {message: [message]}; Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${reportID}`, actionToMerge).then(() => { - // If the message is deleted, update the last read in case the deleted message is being counted in the unreadActionCount - if (!message.text) { - setLocalLastRead(reportID, lastReadSequenceNumbers[reportID]); + // Don't do anything for messages that aren't deleted. + if (message.html) { + return; } + + // If the message is deleted, update the last read in case the deleted message is being counted in the unreadActionCount + setLocalLastRead(reportID, lastReadSequenceNumbers[reportID]); }); // If this is the most recent message, update the lastMessageText in the report object as well