From ae0f656e08a0e66266cea7edc8849c3d55236da4 Mon Sep 17 00:00:00 2001 From: Neil <4138956+nwparker@users.noreply.github.com> Date: Sat, 21 Mar 2026 16:50:44 -0700 Subject: [PATCH] Prevent worktree switch when selecting text on hovercards Check for active text selection in the card click handler and bail out, so selecting text in PR/issue/comment hovercards doesn't accidentally switch the active worktree. Co-Authored-By: Claude Opus 4.6 --- src/renderer/src/components/sidebar/WorktreeCard.tsx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/renderer/src/components/sidebar/WorktreeCard.tsx b/src/renderer/src/components/sidebar/WorktreeCard.tsx index f4d4d3dc681..bec446a54df 100644 --- a/src/renderer/src/components/sidebar/WorktreeCard.tsx +++ b/src/renderer/src/components/sidebar/WorktreeCard.tsx @@ -144,11 +144,12 @@ const WorktreeCard = React.memo(function WorktreeCard({ } }, [repo, worktree.linkedIssue, issue, fetchIssue, issueCacheKey]) - // Stable click handler - const handleClick = useCallback( - () => setActiveWorktree(worktree.id), - [worktree.id, setActiveWorktree] - ) + // Stable click handler – ignore clicks that are really text selections + const handleClick = useCallback(() => { + const selection = window.getSelection() + if (selection && selection.toString().length > 0) return + setActiveWorktree(worktree.id) + }, [worktree.id, setActiveWorktree]) const handleToggleUnreadQuick = useCallback( (event: React.MouseEvent) => {