From c204e422fdb839629039e308224d7dd936f63a4a Mon Sep 17 00:00:00 2001 From: Bernhard Owen Josephus Date: Wed, 5 Nov 2025 11:23:46 +0800 Subject: [PATCH 1/3] fix all iou report actions are deleted when split --- src/libs/actions/IOU.ts | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/libs/actions/IOU.ts b/src/libs/actions/IOU.ts index 36adc31efaaef..7869df5a38758 100644 --- a/src/libs/actions/IOU.ts +++ b/src/libs/actions/IOU.ts @@ -14021,7 +14021,26 @@ function updateSplitTransactions({ }); if (firstIOU) { - const {updatedReportAction, transactionThread} = prepareToCleanUpMoneyRequest(originalTransactionID, firstIOU, iouReport, chatReport, isChatReportArchived); + const updatedReportAction = { + [firstIOU.reportActionID]: { + pendingAction: CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE, + previousMessage: firstIOU.message, + message: [ + { + type: 'COMMENT', + html: '', + text: '', + isEdited: true, + isDeletedParentAction: true, + }, + ], + originalMessage: { + IOUTransactionID: null, + }, + errors: null, + }, + }; + const transactionThread = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${firstIOU.childReportID}`]; optimisticData.push({ onyxMethod: Onyx.METHOD.MERGE, key: `${ONYXKEYS.COLLECTION.REPORT}${firstIOU?.childReportID}`, From 6d22499f1ae85383d4a1fe56baf7e24fdf1aa156 Mon Sep 17 00:00:00 2001 From: Bernhard Owen Josephus Date: Wed, 5 Nov 2025 11:48:36 +0800 Subject: [PATCH 2/3] remove unused params --- src/hooks/useDeleteTransactions.ts | 5 ----- src/libs/actions/IOU.ts | 4 ---- src/pages/iou/SplitExpensePage.tsx | 6 +----- tests/actions/IOUTest.ts | 6 ------ 4 files changed, 1 insertion(+), 20 deletions(-) diff --git a/src/hooks/useDeleteTransactions.ts b/src/hooks/useDeleteTransactions.ts index 3f6115894f44f..867e508683982 100644 --- a/src/hooks/useDeleteTransactions.ts +++ b/src/hooks/useDeleteTransactions.ts @@ -105,9 +105,6 @@ function useDeleteTransactions({report, reportActions, policy}: UseDeleteTransac const originalTransactionIouActions = getIOUActionForTransactions([transactionID], report?.reportID); const iouReportID = isMoneyRequestAction(originalTransactionIouActions.at(0)) ? getOriginalMessage(originalTransactionIouActions.at(0))?.IOUReportID : undefined; const iouReport = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${iouReportID}`]; - const reportNameValuePairs = allReportNameValuePairs?.[`${ONYXKEYS.COLLECTION.REPORT_NAME_VALUE_PAIRS}${iouReportID}`]; - const isChatIOUReportArchived = isArchivedReport(reportNameValuePairs); - const chatReport = allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${iouReport?.chatReportID}`]; const policyRecentlyUsedCategories = allPolicyRecentlyUsedCategories?.[ `${ONYXKEYS.COLLECTION.POLICY_RECENTLY_USED_CATEGORIES}${getNonEmptyStringOnyxID(getIOURequestPolicyID(originalTransaction, report))}` @@ -126,9 +123,7 @@ function useDeleteTransactions({report, reportActions, policy}: UseDeleteTransac policy, policyRecentlyUsedCategories, iouReport, - chatReport, firstIOU: originalTransactionIouActions.at(0), - isChatReportArchived: isChatIOUReportArchived, isNewDotRevertSplitsEnabled: isBetaEnabled(CONST.BETAS.NEWDOT_REVERT_SPLITS), }); }); diff --git a/src/libs/actions/IOU.ts b/src/libs/actions/IOU.ts index 7869df5a38758..e40885698d72b 100644 --- a/src/libs/actions/IOU.ts +++ b/src/libs/actions/IOU.ts @@ -736,9 +736,7 @@ type UpdateSplitTransactionsParams = { policy: OnyxTypes.Policy | undefined; policyRecentlyUsedCategories: OnyxTypes.RecentlyUsedCategories | undefined; iouReport: OnyxEntry; - chatReport: OnyxEntry; firstIOU: OnyxEntry | undefined; - isChatReportArchived?: boolean; isNewDotRevertSplitsEnabled: boolean; }; @@ -13758,9 +13756,7 @@ function updateSplitTransactions({ policy, policyRecentlyUsedCategories, iouReport, - chatReport, firstIOU, - isChatReportArchived, isNewDotRevertSplitsEnabled, }: UpdateSplitTransactionsParams) { const transactionReport = getReportOrDraftReport(transactionData?.reportID); diff --git a/src/pages/iou/SplitExpensePage.tsx b/src/pages/iou/SplitExpensePage.tsx index ff358e914e941..c1d39f2b663a5 100644 --- a/src/pages/iou/SplitExpensePage.tsx +++ b/src/pages/iou/SplitExpensePage.tsx @@ -95,7 +95,7 @@ function SplitExpensePage({route}: SplitExpensePageProps) { const isCard = isManagedCardTransaction(transaction); const originalTransactionID = draftTransaction?.comment?.originalTransactionID ?? CONST.IOU.OPTIMISTIC_TRANSACTION_ID; const iouActions = getIOUActionForTransactions([originalTransactionID], expenseReport?.reportID); - const {iouReport, chatReport, isChatIOUReportArchived} = useGetIOUReportFromReportAction(iouActions.at(0)); + const {iouReport} = useGetIOUReportFromReportAction(iouActions.at(0)); const childTransactions = useMemo(() => getChildTransactions(allTransactions, allReports, transactionID), [allReports, allTransactions, transactionID]); const splitFieldDataFromChildTransactions = useMemo(() => childTransactions.map((currentTransaction) => initSplitExpenseItemData(currentTransaction)), [childTransactions]); @@ -185,9 +185,7 @@ function SplitExpensePage({route}: SplitExpensePageProps) { policy: expenseReportPolicy, policyRecentlyUsedCategories, iouReport, - chatReport, firstIOU: iouActions.at(0), - isChatReportArchived: isChatIOUReportArchived, isNewDotRevertSplitsEnabled: isBetaEnabled(CONST.BETAS.NEWDOT_REVERT_SPLITS), }); }, [ @@ -211,9 +209,7 @@ function SplitExpensePage({route}: SplitExpensePageProps) { expenseReportPolicy, policyRecentlyUsedCategories, iouReport, - chatReport, iouActions, - isChatIOUReportArchived, splitFieldDataFromOriginalTransaction, translate, transactionID, diff --git a/tests/actions/IOUTest.ts b/tests/actions/IOUTest.ts index 3fdab765b2a98..4ed012610debe 100644 --- a/tests/actions/IOUTest.ts +++ b/tests/actions/IOUTest.ts @@ -2907,7 +2907,6 @@ describe('actions/IOU', () => { policy: undefined, policyRecentlyUsedCategories: [], iouReport: expenseReport, - chatReport: expenseReport, firstIOU: iouAction, isNewDotRevertSplitsEnabled: true, }); @@ -3010,7 +3009,6 @@ describe('actions/IOU', () => { policy: undefined, policyRecentlyUsedCategories: [], iouReport: expenseReport, - chatReport: expenseReport, firstIOU: undefined, isNewDotRevertSplitsEnabled: true, }); @@ -3126,7 +3124,6 @@ describe('actions/IOU', () => { policy: undefined, policyRecentlyUsedCategories: [], iouReport: expenseReport, - chatReport, firstIOU: undefined, isNewDotRevertSplitsEnabled: true, }); @@ -7858,7 +7855,6 @@ describe('actions/IOU', () => { policy: undefined, policyRecentlyUsedCategories: [], iouReport: expenseReport, - chatReport, firstIOU: undefined, isNewDotRevertSplitsEnabled: true, }); @@ -8001,7 +7997,6 @@ describe('actions/IOU', () => { policy: undefined, policyRecentlyUsedCategories: [], iouReport: expenseReport, - chatReport, firstIOU: undefined, isNewDotRevertSplitsEnabled: true, }); @@ -8158,7 +8153,6 @@ describe('actions/IOU', () => { policy: undefined, policyRecentlyUsedCategories: [], iouReport: expenseReport, - chatReport, firstIOU: undefined, isNewDotRevertSplitsEnabled: true, }); From 75dc0314c3f401b14ae0ec703a2f93c6705a0592 Mon Sep 17 00:00:00 2001 From: Bernhard Owen Josephus Date: Thu, 6 Nov 2025 06:11:07 +0800 Subject: [PATCH 3/3] lint --- src/hooks/useDeleteTransactions.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/hooks/useDeleteTransactions.ts b/src/hooks/useDeleteTransactions.ts index 6b9adb87feae8..a3aeadfe8bdce 100644 --- a/src/hooks/useDeleteTransactions.ts +++ b/src/hooks/useDeleteTransactions.ts @@ -3,7 +3,6 @@ import type {OnyxCollection} from 'react-native-onyx'; import {deleteMoneyRequest, getIOUActionForTransactions, getIOURequestPolicyID, initSplitExpenseItemData, updateSplitTransactions} from '@libs/actions/IOU'; import getNonEmptyStringOnyxID from '@libs/getNonEmptyStringOnyxID'; import {getOriginalMessage, isMoneyRequestAction} from '@libs/ReportActionsUtils'; -import {isArchivedReport} from '@libs/ReportUtils'; import {getChildTransactions, getOriginalTransactionWithSplitInfo} from '@libs/TransactionUtils'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS';