From d236c18ae5aaa7eb28ad1551ff691ada78acfd21 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Fri, 6 Feb 2026 21:57:08 +0700 Subject: [PATCH] fix(app): stabilize archive button hover in grouped agent row --- packages/app/src/components/grouped-agent-list.tsx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/app/src/components/grouped-agent-list.tsx b/packages/app/src/components/grouped-agent-list.tsx index b8c682835..4f3fb5180 100644 --- a/packages/app/src/components/grouped-agent-list.tsx +++ b/packages/app/src/components/grouped-agent-list.tsx @@ -204,6 +204,7 @@ function GroupedAgentRow({ }: GroupedAgentRowProps) { const { theme } = useUnistyles(); const [isHovered, setIsHovered] = useState(false); + const [isArchiveHovered, setIsArchiveHovered] = useState(false); const [isArchiveConfirmVisible, setIsArchiveConfirmVisible] = useState(false); const hoverOutTimeoutRef = useRef | null>(null); @@ -228,6 +229,7 @@ function GroupedAgentRow({ clearHoverOutTimeout(); hoverOutTimeoutRef.current = setTimeout(() => { setIsHovered(false); + setIsArchiveHovered(false); setIsArchiveConfirmVisible(false); }, 50); }, [clearHoverOutTimeout]); @@ -246,7 +248,9 @@ function GroupedAgentRow({ : null; const canArchive = agent.status !== "running" && !agent.requiresAttention; - const showArchive = canArchive && shortcutNumber === null && (isHovered || isArchiveConfirmVisible); + const showArchive = canArchive && + shortcutNumber === null && + (isHovered || isArchiveHovered || isArchiveConfirmVisible); return ( { + clearHoverOutTimeout(); + setIsHovered(true); + setIsArchiveHovered(true); + }} + onHoverOut={() => { + setIsArchiveHovered(false); + }} onPress={(e) => { e.stopPropagation(); if (!isArchiveConfirmVisible) {