From e387c09f52b93e47c33f841253566d6169371bd7 Mon Sep 17 00:00:00 2001 From: mesalogo Date: Tue, 18 Aug 2026 12:39:29 +0800 Subject: [PATCH] fix: let the assistant sidebar use available width MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The resizable assistant sidebar stopped at 640px even on wide windows, leaving result and workspace previews unnecessarily cramped. It now expands up to the viewport-derived limit while preserving at least 520px for the main workspace. Release note: 助手工作栏现在可在宽屏上拉伸到更大宽度,同时为主工作区保留至少 520 像素。 --- src/renderer/src/RightAssistantSidebar.resize.test.tsx | 8 ++++---- src/renderer/src/RightAssistantSidebar.tsx | 6 +----- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/renderer/src/RightAssistantSidebar.resize.test.tsx b/src/renderer/src/RightAssistantSidebar.resize.test.tsx index cda5a5a..131f7ea 100644 --- a/src/renderer/src/RightAssistantSidebar.resize.test.tsx +++ b/src/renderer/src/RightAssistantSidebar.resize.test.tsx @@ -67,7 +67,7 @@ function renderSidebar({ } describe('RightAssistantSidebar resizing', () => { - it('resizes with pointer capture and clamps the resulting width', () => { + it('resizes with pointer capture and preserves the minimum app width', () => { const sidebar = renderSidebar() const separator = screen.getByRole('separator', { name: '调整助手工作栏宽度' @@ -86,7 +86,7 @@ describe('RightAssistantSidebar resizing', () => { pointerId: 7 }) fireEvent.pointerMove(separator, { - clientX: 600, + clientX: 100, pointerId: 7 }) @@ -94,7 +94,7 @@ describe('RightAssistantSidebar resizing', () => { expect(sidebar).toHaveClass('assistant-sidebar--resizing') expect( sidebar.style.getPropertyValue('--assistant-sidebar-width') - ).toBe('640px') + ).toBe('880px') fireEvent.pointerUp(separator, { pointerId: 7 }) expect(releasePointerCapture).toHaveBeenCalledWith(7) @@ -121,7 +121,7 @@ describe('RightAssistantSidebar resizing', () => { fireEvent.keyDown(separator, { key: 'End' }) expect( sidebar.style.getPropertyValue('--assistant-sidebar-width') - ).toBe('640px') + ).toBe('880px') }) it('remains resizable when the sidebar overlays a medium window', () => { diff --git a/src/renderer/src/RightAssistantSidebar.tsx b/src/renderer/src/RightAssistantSidebar.tsx index 284e590..e54dba1 100644 --- a/src/renderer/src/RightAssistantSidebar.tsx +++ b/src/renderer/src/RightAssistantSidebar.tsx @@ -114,7 +114,6 @@ const tabIds: AssistantSidebarTab[] = [ const emptyChangedFiles: WorkspaceChanges['files'] = [] const defaultSidebarWidth = 350 const minimumSidebarWidth = 300 -const maximumSidebarWidth = 640 const minimumRemainingAppWidth = 520 const compactSidebarBreakpoint = 720 const keyboardResizeStep = 16 @@ -126,10 +125,7 @@ function getSidebarWidthLimits(viewportWidth: number): { minimum: minimumSidebarWidth, maximum: Math.max( minimumSidebarWidth, - Math.min( - maximumSidebarWidth, - viewportWidth - minimumRemainingAppWidth - ) + viewportWidth - minimumRemainingAppWidth ) } }