From b7eeaa81238bb1b332e8a4472d39d929d6f0362d Mon Sep 17 00:00:00 2001 From: Tomasz Misiukiewicz Date: Thu, 30 Apr 2026 15:23:04 +0200 Subject: [PATCH] =?UTF-8?q?Hoist=20getMemberAccountIDsForWorkspace=20out?= =?UTF-8?q?=20of=20map=20callbacks=20to=20fix=20O(N=C2=B2)=20freeze?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WorkspaceWorkflowsApprovalsExpensesFromPage.tsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx index 0eca1d1d3105..cc9f680177a7 100644 --- a/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx +++ b/src/pages/workspace/workflows/approvals/WorkspaceWorkflowsApprovalsExpensesFromPage.tsx @@ -46,6 +46,7 @@ function WorkspaceWorkflowsApprovalsExpensesFromPage({policy, isLoadingReportDat const shouldShowListEmptyContent = !isLoadingApprovalWorkflow && approvalWorkflow?.availableMembers.length === 0; const firstApprover = approvalWorkflow?.originalApprovers?.[0]?.email ?? ''; const isCreateAction = approvalWorkflow?.action === CONST.APPROVAL_WORKFLOW.ACTION.CREATE; + const policyMemberEmailsToAccountIDs = getMemberAccountIDsForWorkspace(policy?.employeeList); // Build a map of member emails to their existing workflow's approver email (for non-default workflows only) const membersInExistingWorkflows = (() => { @@ -75,7 +76,6 @@ function WorkspaceWorkflowsApprovalsExpensesFromPage({policy, isLoadingReportDat // eslint-disable-next-line react-hooks/set-state-in-effect setSelectedMembers( approvalWorkflow.members.map((member) => { - const policyMemberEmailsToAccountIDs = getMemberAccountIDsForWorkspace(policy?.employeeList); const accountID = Number(policyMemberEmailsToAccountIDs[member.email] ?? ''); return { @@ -95,7 +95,7 @@ function WorkspaceWorkflowsApprovalsExpensesFromPage({policy, isLoadingReportDat }; }), ); - }, [approvalWorkflow?.members, policy?.employeeList, policy?.owner, translate, icons.FallbackAvatar]); + }, [approvalWorkflow?.members, policy?.employeeList, policy?.owner, policyMemberEmailsToAccountIDs, translate, icons.FallbackAvatar]); const approversEmail = approvalWorkflow?.approvers.map((member) => member?.email); const allApprovers: SelectionListApprover[] = [...selectedMembers]; @@ -103,7 +103,6 @@ function WorkspaceWorkflowsApprovalsExpensesFromPage({policy, isLoadingReportDat if (approvalWorkflow?.availableMembers) { const availableMembers = approvalWorkflow.availableMembers .map((member) => { - const policyMemberEmailsToAccountIDs = getMemberAccountIDsForWorkspace(policy?.employeeList); const accountID = Number(policyMemberEmailsToAccountIDs[member.email] ?? ''); return {