From 2dfbf34bf62a0bb276ebe68368b16119a9a394d4 Mon Sep 17 00:00:00 2001 From: brennanb2025 Date: Sat, 25 Apr 2026 12:05:33 -0700 Subject: [PATCH] Revert "fix(tabs): restore visible right-sidebar divider" This reverts commit cf788f1302a11c8be644fbcc67e9ca72b01faade. --- .../src/components/right-sidebar/index.tsx | 7 ++++++- .../src/components/tab-group/TabGroupPanel.tsx | 11 ++++++++++- .../components/tab-group/TabGroupSplitLayout.tsx | 16 ++++++++-------- 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/renderer/src/components/right-sidebar/index.tsx b/src/renderer/src/components/right-sidebar/index.tsx index a14aa22b820..314baedb938 100644 --- a/src/renderer/src/components/right-sidebar/index.tsx +++ b/src/renderer/src/components/right-sidebar/index.tsx @@ -197,7 +197,12 @@ function RightSidebarInner(): React.JSX.Element { )} > {/* Panel content area */} -
+
{activityBarPosition === 'top' ? ( /* ── Top activity bar: horizontal icon row ── */ diff --git a/src/renderer/src/components/tab-group/TabGroupPanel.tsx b/src/renderer/src/components/tab-group/TabGroupPanel.tsx index 36febd753c6..d8888e1603c 100644 --- a/src/renderer/src/components/tab-group/TabGroupPanel.tsx +++ b/src/renderer/src/components/tab-group/TabGroupPanel.tsx @@ -28,6 +28,7 @@ export default function TabGroupPanel({ isWorktreeActive, isFocused, hasSplitGroups, + touchesRightEdge, reserveClosedExplorerToggleSpace, reserveCollapsedSidebarHeaderSpace, isTabDragActive = false, @@ -39,6 +40,7 @@ export default function TabGroupPanel({ isWorktreeActive: boolean isFocused: boolean hasSplitGroups: boolean + touchesRightEdge: boolean reserveClosedExplorerToggleSpace: boolean reserveCollapsedSidebarHeaderSpace: boolean isTabDragActive?: boolean @@ -188,7 +190,14 @@ export default function TabGroupPanel({ // because a lone group has nothing to contrast against. className={`group/tab-group flex flex-col flex-1 min-w-0 min-h-0 overflow-hidden${ hasSplitGroups - ? ` border-x border-border border-b ${isFocused ? 'border-b-accent' : 'opacity-95'}` + ? // Why: drop only the RIGHT border on the rightmost group. The right + // sidebar paints its own `borderLeft` that already extends full + // height, so painting our own border-r in that spot stacks a + // second 1px line next to it — reading as a 2px-thick bar below + // the 8px drag strip (where the sidebar border continues alone + // above). The left edge has no such double-up, so the left + // border is always kept. + ` border-l ${touchesRightEdge ? '' : 'border-r'} border-border border-b ${isFocused ? 'border-b-accent' : 'opacity-95'}` : '' }`} onPointerDown={commands.focusGroup} diff --git a/src/renderer/src/components/tab-group/TabGroupSplitLayout.tsx b/src/renderer/src/components/tab-group/TabGroupSplitLayout.tsx index 79319e5dc25..3277b689fd2 100644 --- a/src/renderer/src/components/tab-group/TabGroupSplitLayout.tsx +++ b/src/renderer/src/components/tab-group/TabGroupSplitLayout.tsx @@ -125,6 +125,7 @@ function SplitNode({ // "focused", Cmd/Ctrl+W and split shortcuts can hit the wrong worktree. isFocused={isWorktreeActive && node.groupId === focusedGroupId} hasSplitGroups={hasSplitGroups} + touchesRightEdge={touchesRightEdge} reserveClosedExplorerToggleSpace={touchesTopEdge && touchesRightEdge} reserveCollapsedSidebarHeaderSpace={touchesTopEdge && touchesLeftEdge} isTabDragActive={isTabDragActive} @@ -221,16 +222,15 @@ export default function TabGroupSplitLayout({ window-drag region at the top. Only the split layout's own panes own the resize handles, while this strip keeps the whole top of the center column draggable regardless of how the splits are arranged. - Why conditional `border-x`: when splits exist, the outer panes - paint their own vertical borders starting at y=8 (see - TabGroupPanel). Mirroring those borders on the drag strip extends - both seams up to y=0 so the lines between the terminal area and - the left/right sidebars reach the top of the window. Without - splits the panes have no vertical borders, so we skip them here - too to avoid dangling 8px stubs. */} + Why conditional `border-l`: when splits exist, the leftmost pane + paints its own `border-l` starting at y=8. Mirroring that border + on the drag strip extends the seam up to y=0 so the left-sidebar / + center-column line reaches the top of the window, matching the + full-height right-sidebar seam. Without splits the pane has no + `border-l`, so we skip it here too to avoid a dangling 8px stub. */}