From 732e7801d36103b080e06dfbb2a9607fa14f3374 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Sat, 13 Dec 2025 08:32:29 +0100 Subject: [PATCH] Agent sessions: make room for chat input when space is limited (fix #281053) (#283263) * Agent sessions: make room for chat input when space is limited (fix #281053) * cleanup * fix * cleanup --- .../workbench/contrib/chat/browser/chatViewPane.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/contrib/chat/browser/chatViewPane.ts b/src/vs/workbench/contrib/chat/browser/chatViewPane.ts index f47724e681e..2832d39b805 100644 --- a/src/vs/workbench/contrib/chat/browser/chatViewPane.ts +++ b/src/vs/workbench/contrib/chat/browser/chatViewPane.ts @@ -473,6 +473,8 @@ export class ChatViewPane extends ViewPane implements IViewWelcomeDelegate { //#region Chat Control + private static readonly MIN_CHAT_WIDGET_HEIGHT = 120; + private _widget!: ChatWidget; get widget(): ChatWidget { return this._widget; } @@ -779,9 +781,15 @@ export class ChatViewPane extends ViewPane implements IViewWelcomeDelegate { } // Ensure visibility is in sync before we layout - this.updateSessionsControlVisibility(); + const { visible: sessionsContainerVisible } = this.updateSessionsControlVisibility(); + if (!sessionsContainerVisible) { + return { heightReduction: 0, widthReduction: 0 }; + } - const availableSessionsHeight = height - this.sessionsTitleContainer.offsetHeight - this.sessionsLinkContainer.offsetHeight; + let availableSessionsHeight = height - this.sessionsTitleContainer.offsetHeight - this.sessionsLinkContainer.offsetHeight; + if (this.sessionsViewerOrientation === AgentSessionsViewerOrientation.Stacked) { + availableSessionsHeight -= ChatViewPane.MIN_CHAT_WIDGET_HEIGHT; // always reserve some space for chat input + } // Show as sidebar if (this.sessionsViewerOrientation === AgentSessionsViewerOrientation.SideBySide) {