From 74200bf860ea3f32373732705709835f76fded6e Mon Sep 17 00:00:00 2001 From: carlosmonastyrski Date: Mon, 31 Mar 2025 18:20:01 -0300 Subject: [PATCH] Add clearTimeout on setTimeouts --- .../src/components/permissions/AccessTree/AccessTree.tsx | 4 +++- .../FolderNode/components/AccessTreeSecretPathInput.tsx | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/permissions/AccessTree/AccessTree.tsx b/frontend/src/components/permissions/AccessTree/AccessTree.tsx index 4ba2c718b..ee0667582 100644 --- a/frontend/src/components/permissions/AccessTree/AccessTree.tsx +++ b/frontend/src/components/permissions/AccessTree/AccessTree.tsx @@ -81,12 +81,14 @@ const AccessTreeContent = ({ permissions }: AccessTreeProps) => { }, [selectedPath, environment]); useEffect(() => { + let timer: NodeJS.Timeout; if (initialRender) { - setTimeout(() => { + timer = setTimeout(() => { goToRootNode(); setInitialRender(false); }, 500); } + return () => clearTimeout(timer); }, [nodes, edges, getViewport(), initialRender]); const handleToggleModalView = () => diff --git a/frontend/src/components/permissions/AccessTree/nodes/FolderNode/components/AccessTreeSecretPathInput.tsx b/frontend/src/components/permissions/AccessTree/nodes/FolderNode/components/AccessTreeSecretPathInput.tsx index 1702d1214..76a098ed3 100644 --- a/frontend/src/components/permissions/AccessTree/nodes/FolderNode/components/AccessTreeSecretPathInput.tsx +++ b/frontend/src/components/permissions/AccessTree/nodes/FolderNode/components/AccessTreeSecretPathInput.tsx @@ -29,9 +29,10 @@ export const AccessTreeSecretPathInput = ({ }; const handleBlur = () => { - setTimeout(() => { + const timeout: NodeJS.Timeout = setTimeout(() => { setIsFocused(false); }, 200); + return () => clearTimeout(timeout); }; useEffect(() => { @@ -50,8 +51,10 @@ export const AccessTreeSecretPathInput = ({ const toggleSearch = () => { setIsExpanded(!isExpanded); if (!isExpanded) { - setTimeout(focusInput, 300); + const timeout: NodeJS.Timeout = setTimeout(focusInput, 300); + return () => clearTimeout(timeout); } + return () => {}; }; return (