From 747e56000c0ea16f5191c3a97f3b89435f350bd3 Mon Sep 17 00:00:00 2001 From: daledah Date: Tue, 16 Sep 2025 00:16:02 +0700 Subject: [PATCH 1/2] fix: "On Hold" status is not removed after expense is moved to Self DM --- src/libs/actions/Transaction.ts | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/libs/actions/Transaction.ts b/src/libs/actions/Transaction.ts index daa1fedd0f3a7..07e8c9c0549a1 100644 --- a/src/libs/actions/Transaction.ts +++ b/src/libs/actions/Transaction.ts @@ -19,6 +19,7 @@ import { buildOptimisticDismissedViolationReportAction, buildOptimisticMovedTransactionAction, buildOptimisticSelfDMReport, + buildOptimisticUnHoldReportAction, buildOptimisticUnreportedTransactionAction, buildTransactionThread, findSelfDMReportID, @@ -741,6 +742,9 @@ function changeTransactionsReport( key: `${ONYXKEYS.COLLECTION.TRANSACTION}${transaction.transactionID}`, value: { reportID, + comment: { + hold: null, + }, }, }); @@ -757,6 +761,9 @@ function changeTransactionsReport( key: `${ONYXKEYS.COLLECTION.TRANSACTION}${transaction.transactionID}`, value: { reportID: transaction.reportID, + comment: { + hold: transaction.comment?.hold, + }, }, }); @@ -1074,6 +1081,28 @@ function changeTransactionsReport( } else { transactionIDToReportActionAndThreadData[transaction.transactionID] = baseTransactionData; } + + // Build unhold report action + if (isOnHold(transaction)) { + const unHoldAction = buildOptimisticUnHoldReportAction(); + optimisticData.push({ + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${transactionThreadReportID}`, + value: {[unHoldAction.reportActionID]: unHoldAction}, + }); + + successData.push({ + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${transactionThreadReportID}`, + value: {[unHoldAction.reportActionID]: {pendingAction: null}}, + }); + + failureData.push({ + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${transactionThreadReportID}`, + value: {[unHoldAction.reportActionID]: null}, + }); + } }); if (!transactionsMoved) { From 7ae48f3903abc3dd5ff73b91f2140da7bca50689 Mon Sep 17 00:00:00 2001 From: daledah Date: Fri, 10 Oct 2025 11:24:11 +0700 Subject: [PATCH 2/2] fix: add missing param to API call --- src/libs/actions/Transaction.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/libs/actions/Transaction.ts b/src/libs/actions/Transaction.ts index a4c1a9bc983aa..5af340eddf02f 100644 --- a/src/libs/actions/Transaction.ts +++ b/src/libs/actions/Transaction.ts @@ -1139,6 +1139,11 @@ function changeTransactionsReport( key: `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${transactionThreadReportID}`, value: {[unHoldAction.reportActionID]: null}, }); + + transactionIDToReportActionAndThreadData[transaction.transactionID] = { + ...transactionIDToReportActionAndThreadData[transaction.transactionID], + unholdReportActionID: unHoldAction.reportActionID, + }; } });