diff --git a/src/libs/actions/IOU.ts b/src/libs/actions/IOU.ts index 90719ffeed55..ec87fdc83e8d 100644 --- a/src/libs/actions/IOU.ts +++ b/src/libs/actions/IOU.ts @@ -6315,6 +6315,7 @@ function getReportFromHoldRequestsOnyxData( optimisticHoldActionID: string; optimisticHoldReportExpenseActionIDs: OptimisticHoldReportExpenseActionID[]; optimisticData: OnyxUpdate[]; + successData: OnyxUpdate[]; failureData: OnyxUpdate[]; } { const {holdReportActions, holdTransactions} = getHoldReportActionsAndTransactions(iouReport?.reportID ?? ''); @@ -6354,6 +6355,7 @@ function getReportFromHoldRequestsOnyxData( const updateHeldReports: Record> = {}; const addHoldReportActions: OnyxTypes.ReportActions = {}; + const addHoldReportActionsSuccess: OnyxCollection> = {}; const deleteHoldReportActions: Record> = {}; const optimisticHoldReportExpenseActionIDs: OptimisticHoldReportExpenseActionID[] = []; @@ -6380,6 +6382,9 @@ function getReportFromHoldRequestsOnyxData( }, pendingAction: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD, }; + addHoldReportActionsSuccess[reportActionID] = { + pendingAction: null, + }; const heldReport = ReportUtils.getReportOrDraftReport(holdReportAction.childReportID); if (heldReport) { @@ -6461,6 +6466,23 @@ function getReportFromHoldRequestsOnyxData( bringHeldTransactionsBack[`${ONYXKEYS.COLLECTION.TRANSACTION}${transaction.transactionID}`] = transaction; }); + const successData: OnyxUpdate[] = [ + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${chatReport.reportID}`, + value: { + [optimisticExpenseReportPreview.reportActionID]: { + pendingAction: null, + }, + }, + }, + { + onyxMethod: Onyx.METHOD.MERGE, + key: `${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${optimisticExpenseReport.reportID}`, + value: addHoldReportActionsSuccess, + }, + ]; + const failureData: OnyxUpdate[] = [ // remove added optimistic expense report { @@ -6500,6 +6522,7 @@ function getReportFromHoldRequestsOnyxData( optimisticData, optimisticHoldActionID: optimisticExpenseReportPreview.reportActionID, failureData, + successData, optimisticHoldReportID: optimisticExpenseReport.reportID, optimisticHoldReportExpenseActionIDs, }; @@ -6760,6 +6783,7 @@ function getPayMoneyRequestParams( const holdReportOnyxData = getReportFromHoldRequestsOnyxData(chatReport, iouReport, recipient); optimisticData.push(...holdReportOnyxData.optimisticData); + successData.push(...holdReportOnyxData.successData); failureData.push(...holdReportOnyxData.failureData); optimisticHoldReportID = holdReportOnyxData.optimisticHoldReportID; optimisticHoldActionID = holdReportOnyxData.optimisticHoldActionID; @@ -7099,6 +7123,7 @@ function approveMoneyRequest(expenseReport: OnyxEntry, full?: const holdReportOnyxData = getReportFromHoldRequestsOnyxData(chatReport, expenseReport, {accountID: expenseReport.ownerAccountID}); optimisticData.push(...holdReportOnyxData.optimisticData); + successData.push(...holdReportOnyxData.successData); failureData.push(...holdReportOnyxData.failureData); optimisticHoldReportID = holdReportOnyxData.optimisticHoldReportID; optimisticHoldActionID = holdReportOnyxData.optimisticHoldActionID;