From 8802562eec3349a287e6d3476babd7311e7eaec3 Mon Sep 17 00:00:00 2001 From: David Bondy Date: Fri, 15 Dec 2023 11:48:33 -0700 Subject: [PATCH] Merge pull request #33174 from paultsimura/fix/33098-revert-set-merge fix: Revert the use of SET operation when updating Money Requests (cherry picked from commit c53eca94bd1dfbe44a4b389c5d3a1dc4e8c05e70) --- src/libs/ReportUtils.ts | 2 +- src/libs/actions/IOU.js | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index 8729bb1bf957..4d69af6c27f8 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -2119,7 +2119,7 @@ function getModifiedExpenseMessage(reportAction: OnyxEntry): strin const hasModifiedCreated = reportActionOriginalMessage && 'oldCreated' in reportActionOriginalMessage && 'created' in reportActionOriginalMessage; if (hasModifiedCreated) { // Take only the YYYY-MM-DD value as the original date includes timestamp - let formattedOldCreated: Date | string = new Date(reportActionOriginalMessage?.oldCreated ?? 0); + let formattedOldCreated: Date | string = new Date(reportActionOriginalMessage?.oldCreated ? reportActionOriginalMessage.oldCreated : 0); formattedOldCreated = format(formattedOldCreated, CONST.DATE.FNS_FORMAT_STRING); return getProperSchemaForModifiedExpenseMessage(reportActionOriginalMessage?.created ?? '', formattedOldCreated?.toString?.(), Localize.translateLocal('common.date'), false); diff --git a/src/libs/actions/IOU.js b/src/libs/actions/IOU.js index 7513989d08c4..b7fa45c3769d 100644 --- a/src/libs/actions/IOU.js +++ b/src/libs/actions/IOU.js @@ -925,13 +925,11 @@ function getUpdateMoneyRequestParams(transactionID, transactionThreadReportID, t } // Optimistically modify the transaction - const optimisticTransaction = onlyIncludeChangedFields ? _.pick(updatedTransaction, _.keys(transactionChanges)) : updatedTransaction; optimisticData.push({ - // We need to use SET method to save updated waypoint instead MERGE method to avoid wrong update of waypoints. More detail: https://github.com/Expensify/App/issues/30290#issuecomment-1778957070 - onyxMethod: Onyx.METHOD.SET, + onyxMethod: Onyx.METHOD.MERGE, key: `${ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`, value: { - ...optimisticTransaction, + ...updatedTransaction, pendingFields, isLoading: _.has(transactionChanges, 'waypoints'), errorFields: null,