From 5ea95451dd485b15696877a9dd82c30a532b68e0 Mon Sep 17 00:00:00 2001 From: Shoubhit Dash Date: Mon, 23 Mar 2026 12:55:30 +0530 Subject: fix(app): prevent stale session hover preview on refocus (#18727) --- packages/app/src/pages/layout/sidebar-items.tsx | 65 +++++++++++++++---------- 1 file changed, 38 insertions(+), 27 deletions(-) (limited to 'packages/app/src/pages/layout') diff --git a/packages/app/src/pages/layout/sidebar-items.tsx b/packages/app/src/pages/layout/sidebar-items.tsx index f8e16f3e1..a9627c5db 100644 --- a/packages/app/src/pages/layout/sidebar-items.tsx +++ b/packages/app/src/pages/layout/sidebar-items.tsx @@ -157,34 +157,45 @@ const SessionHoverPreview = (props: { messageLabel: (message: Message) => string | undefined onMessageSelect: (message: Message) => void trigger: JSX.Element -}): JSX.Element => ( - props.setHoverSession(open ? props.session.id : undefined)} - > - {props.language.t("session.messages.loading")}} +}): JSX.Element => { + let ref: HTMLDivElement | undefined + + return ( + {props.trigger}} + open={props.hoverSession() === props.session.id} + onOpenChange={(open) => { + if (!open) { + props.setHoverSession(undefined) + return + } + if (!ref?.matches(":hover")) return + props.setHoverSession(props.session.id) + }} > -
- -
-
-
-) + {props.language.t("session.messages.loading")}} + > +
+ +
+
+ + ) +} export const SessionItem = (props: SessionItemProps): JSX.Element => { const params = useParams() -- cgit v1.2.3