From 3719dcecf8c404f65fc8de8a6c56216431e34508 Mon Sep 17 00:00:00 2001 From: Shantur Rathore Date: Tue, 3 Mar 2026 23:00:44 +0000 Subject: [PATCH] fix(ui): clear timeline selection on stream click --- packages/ui/src/components/message-section.tsx | 6 ++++++ packages/ui/src/components/virtual-follow-list.tsx | 2 ++ 2 files changed, 8 insertions(+) diff --git a/packages/ui/src/components/message-section.tsx b/packages/ui/src/components/message-section.tsx index 9bafdb39..3883b4eb 100644 --- a/packages/ui/src/components/message-section.tsx +++ b/packages/ui/src/components/message-section.tsx @@ -1001,6 +1001,12 @@ export default function MessageSection(props: MessageSectionProps) { scrollCache.persist(streamElement()) }} onMouseUp={() => handleStreamMouseUp()} + onClick={(e) => { + if (selectedTimelineIds().size === 0) return + const target = e.target as HTMLElement + if (target.closest("button, a, input, [role='button']")) return + handleClearTimelineSelection() + }} onActiveKeyChange={(messageId) => { if (!messageId) return const firstSeg = timelineSegments().find((s) => s.messageId === messageId) diff --git a/packages/ui/src/components/virtual-follow-list.tsx b/packages/ui/src/components/virtual-follow-list.tsx index ceb522f9..1b2de3a3 100644 --- a/packages/ui/src/components/virtual-follow-list.tsx +++ b/packages/ui/src/components/virtual-follow-list.tsx @@ -114,6 +114,7 @@ export interface VirtualFollowListProps { */ onScroll?: () => void onMouseUp?: (event: MouseEvent) => void + onClick?: (event: MouseEvent) => void onActiveKeyChange?: (key: string | null) => void registerApi?: (api: VirtualFollowListApi) => void registerState?: (state: VirtualFollowListState) => void @@ -872,6 +873,7 @@ export default function VirtualFollowList(props: VirtualFollowListProps) { ref={setContainerRef} onScroll={handleScroll} onMouseUp={(event) => props.onMouseUp?.(event)} + onClick={(event) => props.onClick?.(event)} >