From a01b7a982f248a9ea170f345aab8896aad0d5469 Mon Sep 17 00:00:00 2001 From: Bohdan Triapitsyn Date: Thu, 11 Jun 2026 13:19:04 +0300 Subject: [PATCH] fix: align VS Code subsession chevrons in metadata row Moves VS Code subsession chevrons into the metadata row Centers the chevron with session metadata Keeps web and desktop sidebar layout unchanged --- .../components/session/sidebar/SessionNodeItem.tsx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/ui/src/components/session/sidebar/SessionNodeItem.tsx b/packages/ui/src/components/session/sidebar/SessionNodeItem.tsx index 669d082f..d84ec153 100644 --- a/packages/ui/src/components/session/sidebar/SessionNodeItem.tsx +++ b/packages/ui/src/components/session/sidebar/SessionNodeItem.tsx @@ -358,6 +358,8 @@ function SessionNodeItemComponent(props: Props): React.ReactNode { const isSessionMenuOpen = isMenuOpen || isContextMenuOpen; const isMultiRunLikeSession = React.useMemo(() => parseMultiRunSessionTitle(resolvedSession.title) !== null, [resolvedSession.title]); const [fusionDialogOpen, setFusionDialogOpen] = React.useState(false); + const metadataSubsessionChevron = isVSCode && renderContext === 'recent' && !isMinimalMode; + const inlineSubsessionChevron = isVSCode && renderContext === 'recent' && isMinimalMode; const descendantCount = React.useMemo(() => collectNodeDescendantIds(node).length, [collectNodeDescendantIds, node]); @@ -587,9 +589,13 @@ function SessionNodeItemComponent(props: Props): React.ReactNode { } }} className={cn( - 'absolute left-[-10px] inline-flex h-3.5 w-3.5 items-center justify-center rounded-md text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 transition-opacity', - isMinimalMode ? 'top-1/2 -translate-y-1/2' : 'top-[14.5px] -translate-y-1/2', - isMinimalMode && showStatusMarker && !alwaysShowActions + 'inline-flex h-3.5 w-3.5 items-center justify-center rounded-md text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50 transition-opacity', + metadataSubsessionChevron + ? 'absolute left-1.5 bottom-1' + : inlineSubsessionChevron + ? 'relative mr-0.5 shrink-0' + : cn('absolute left-[-10px]', isMinimalMode ? 'top-1/2 -translate-y-1/2' : 'top-[14.5px] -translate-y-1/2'), + !metadataSubsessionChevron && !inlineSubsessionChevron && isMinimalMode && showStatusMarker && !alwaysShowActions ? 'opacity-0 pointer-events-none group-hover:opacity-100 group-hover:pointer-events-auto group-focus-within:opacity-100 group-focus-within:pointer-events-auto' : '', )} @@ -1032,7 +1038,7 @@ function SessionNodeItemComponent(props: Props): React.ReactNode { {!isMinimalMode ? (
-
+
{sessionUpdatedLabel} {sessionDiffStats ? +{sessionDiffStats.additions}/-{sessionDiffStats.deletions} : null} {hasSecondaryProjectLabel ? {secondaryMeta?.projectLabel} : null}