From 6a65bfc2bfafa585fd3c120ad8c3d21e2bc814fb Mon Sep 17 00:00:00 2001 From: Eskalifer1 Date: Fri, 21 Nov 2025 12:47:52 +0200 Subject: [PATCH 1/4] fix:73728: delay navigation to next page after participants to let Onyx update properly --- src/pages/iou/request/step/IOURequestStepParticipants.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pages/iou/request/step/IOURequestStepParticipants.tsx b/src/pages/iou/request/step/IOURequestStepParticipants.tsx index 4713c6b5db7e..4d48866aed76 100644 --- a/src/pages/iou/request/step/IOURequestStepParticipants.tsx +++ b/src/pages/iou/request/step/IOURequestStepParticipants.tsx @@ -355,7 +355,9 @@ function IOURequestStepParticipants({ // We don't want to compare params because we just changed the participants. Navigation.goBack(route, {compareParams: false}); } else { - Navigation.navigate(route); + Navigation.setNavigationActionToMicrotaskQueue(() => { + Navigation.navigate(route); + }); } }); }, [action, participants, iouType, initialTransaction, transactions, initialTransactionID, reportID, waitForKeyboardDismiss, isMovingTransactionFromTrackExpense, backTo, introSelected]); From 58a4ee337432cf07cb61a9d3a4da004209208cdc Mon Sep 17 00:00:00 2001 From: Eskalifer1 Date: Fri, 21 Nov 2025 12:53:36 +0200 Subject: [PATCH 2/4] fix:73728: same fix for selfDM --- src/pages/iou/request/step/IOURequestStepParticipants.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pages/iou/request/step/IOURequestStepParticipants.tsx b/src/pages/iou/request/step/IOURequestStepParticipants.tsx index 4d48866aed76..2ad47b098fd2 100644 --- a/src/pages/iou/request/step/IOURequestStepParticipants.tsx +++ b/src/pages/iou/request/step/IOURequestStepParticipants.tsx @@ -202,7 +202,9 @@ function IOURequestStepParticipants({ // We don't want to compare params because we just changed the participants. Navigation.goBack(iouConfirmationPageRoute, {compareParams: false}); } else { - Navigation.navigate(iouConfirmationPageRoute); + Navigation.setNavigationActionToMicrotaskQueue(() => { + Navigation.navigate(iouConfirmationPageRoute); + }); } }); }, [selfDMReportID, transactions, action, initialTransactionID, waitForKeyboardDismiss, iouType, selfDMReport, isActivePolicyRequest, backTo]); From 5cec5c6b932b53a29f77b9e3f60fa64cc07b3d98 Mon Sep 17 00:00:00 2001 From: Eskalifer1 Date: Fri, 21 Nov 2025 13:43:24 +0200 Subject: [PATCH 3/4] chore: added comments --- src/pages/iou/request/step/IOURequestStepParticipants.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pages/iou/request/step/IOURequestStepParticipants.tsx b/src/pages/iou/request/step/IOURequestStepParticipants.tsx index 2ad47b098fd2..79fe3eb5d3a3 100644 --- a/src/pages/iou/request/step/IOURequestStepParticipants.tsx +++ b/src/pages/iou/request/step/IOURequestStepParticipants.tsx @@ -202,6 +202,8 @@ function IOURequestStepParticipants({ // We don't want to compare params because we just changed the participants. Navigation.goBack(iouConfirmationPageRoute, {compareParams: false}); } else { + // We wrap navigation in setNavigationActionToMicrotaskQueue so that data loading in Onyx and navigation do not occur simultaneously. + // More information can be found here: https://github.com/Expensify/App/issues/73728 Navigation.setNavigationActionToMicrotaskQueue(() => { Navigation.navigate(iouConfirmationPageRoute); }); @@ -357,6 +359,8 @@ function IOURequestStepParticipants({ // We don't want to compare params because we just changed the participants. Navigation.goBack(route, {compareParams: false}); } else { + // We wrap navigation in setNavigationActionToMicrotaskQueue so that data loading in Onyx and navigation do not occur simultaneously. + // More information can be found here: https://github.com/Expensify/App/issues/73728 Navigation.setNavigationActionToMicrotaskQueue(() => { Navigation.navigate(route); }); From 18e2e537067047444ac66d5dc53c52adcebf94bd Mon Sep 17 00:00:00 2001 From: Eskalifer1 Date: Fri, 21 Nov 2025 13:51:31 +0200 Subject: [PATCH 4/4] chore: C+ comment --- src/pages/iou/request/step/IOURequestStepParticipants.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/iou/request/step/IOURequestStepParticipants.tsx b/src/pages/iou/request/step/IOURequestStepParticipants.tsx index 79fe3eb5d3a3..9b3d7ef22037 100644 --- a/src/pages/iou/request/step/IOURequestStepParticipants.tsx +++ b/src/pages/iou/request/step/IOURequestStepParticipants.tsx @@ -202,7 +202,7 @@ function IOURequestStepParticipants({ // We don't want to compare params because we just changed the participants. Navigation.goBack(iouConfirmationPageRoute, {compareParams: false}); } else { - // We wrap navigation in setNavigationActionToMicrotaskQueue so that data loading in Onyx and navigation do not occur simultaneously. + // We wrap navigation in setNavigationActionToMicrotaskQueue so that data loading in Onyx and navigation do not occur simultaneously, which resets the amount to 0. // More information can be found here: https://github.com/Expensify/App/issues/73728 Navigation.setNavigationActionToMicrotaskQueue(() => { Navigation.navigate(iouConfirmationPageRoute); @@ -359,7 +359,7 @@ function IOURequestStepParticipants({ // We don't want to compare params because we just changed the participants. Navigation.goBack(route, {compareParams: false}); } else { - // We wrap navigation in setNavigationActionToMicrotaskQueue so that data loading in Onyx and navigation do not occur simultaneously. + // We wrap navigation in setNavigationActionToMicrotaskQueue so that data loading in Onyx and navigation do not occur simultaneously, which resets the amount to 0. // More information can be found here: https://github.com/Expensify/App/issues/73728 Navigation.setNavigationActionToMicrotaskQueue(() => { Navigation.navigate(route);