diff --git a/src/libs/actions/Report.ts b/src/libs/actions/Report.ts index 35de6c9ea1f9..411cee718062 100644 --- a/src/libs/actions/Report.ts +++ b/src/libs/actions/Report.ts @@ -82,6 +82,7 @@ import type { PersonalDetails, PersonalDetailsList, PolicyReportField, + QuickAction, RecentlyUsedReportFields, ReportActionReactions, ReportMetadata, @@ -219,6 +220,12 @@ Onyx.connect({ callback: (val) => (allRecentlyUsedReportFields = val), }); +let quickAction: OnyxEntry = {}; +Onyx.connect({ + key: ONYXKEYS.NVP_QUICK_ACTION_GLOBAL_CREATE, + callback: (val) => (quickAction = val), +}); + function clearGroupChat() { Onyx.set(ONYXKEYS.NEW_GROUP_CHAT_DRAFT, null); } @@ -2449,6 +2456,15 @@ function leaveGroupChat(reportID: string) { value: null, }, ]; + // Clean up any quick actions for the report we're leaving from + if (quickAction?.chatReportID?.toString() === reportID) { + optimisticData.push({ + onyxMethod: Onyx.METHOD.SET, + key: ONYXKEYS.NVP_QUICK_ACTION_GLOBAL_CREATE, + value: null, + }); + } + navigateToMostRecentReport(report); API.write(WRITE_COMMANDS.LEAVE_GROUP_CHAT, {reportID}, {optimisticData}); }