From 89fff1f81f7311ee9f697cb8d85b54f77e4f1a44 Mon Sep 17 00:00:00 2001 From: likiosliu Date: Wed, 25 Mar 2026 10:31:35 +0800 Subject: [PATCH] fix: add missing clearTimeout cleanup in CopyButton useEffect Closes #934 --- surfsense_web/components/ui/code-block-node.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/surfsense_web/components/ui/code-block-node.tsx b/surfsense_web/components/ui/code-block-node.tsx index 23cc163a1..d323fc894 100644 --- a/surfsense_web/components/ui/code-block-node.tsx +++ b/surfsense_web/components/ui/code-block-node.tsx @@ -143,9 +143,11 @@ function CopyButton({ const [hasCopied, setHasCopied] = React.useState(false); React.useEffect(() => { - setTimeout(() => { + if (!hasCopied) return; + const timer = setTimeout(() => { setHasCopied(false); }, 2000); + return () => clearTimeout(timer); }, [hasCopied]); return (