mirror of
https://github.com/microsoft/vscode.git
synced 2026-07-10 16:58:55 -05:00
agent sessions - fix layout issues in chat view
This commit is contained in:
@@ -45,6 +45,7 @@ import { AGENT_SESSIONS_VIEW_ID } from './agentSessions/agentSessions.js';
|
||||
import { AgentSessionsControl } from './agentSessions/agentSessionsControl.js';
|
||||
import { ChatWidget } from './chatWidget.js';
|
||||
import { ChatViewWelcomeController, IViewWelcomeDelegate } from './viewsWelcome/chatViewWelcomeController.js';
|
||||
import { AgentSessionsListDelegate } from './agentSessions/agentSessionsViewer.js';
|
||||
|
||||
interface IChatViewPaneState extends Partial<IChatModelInputState> {
|
||||
sessionId?: string;
|
||||
@@ -58,6 +59,8 @@ type ChatViewPaneOpenedClassification = {
|
||||
|
||||
export class ChatViewPane extends ViewPane implements IViewWelcomeDelegate {
|
||||
|
||||
private static readonly SESSIONS_LIMIT = 3;
|
||||
|
||||
private _widget!: ChatWidget;
|
||||
get widget(): ChatWidget { return this._widget; }
|
||||
|
||||
@@ -265,7 +268,7 @@ export class ChatViewPane extends ViewPane implements IViewWelcomeDelegate {
|
||||
this.sessionsControl = this._register(this.instantiationService.createInstance(AgentSessionsControl, this.sessionsContainer, {
|
||||
allowOpenSessionsInPanel: true,
|
||||
filter: {
|
||||
limitResults: 3, // Limit to 3 sessions
|
||||
limitResults: ChatViewPane.SESSIONS_LIMIT,
|
||||
exclude(session) {
|
||||
if (session.isArchived()) {
|
||||
return true; // exclude archived sessions
|
||||
@@ -430,13 +433,11 @@ export class ChatViewPane extends ViewPane implements IViewWelcomeDelegate {
|
||||
|
||||
let remainingHeight = height;
|
||||
|
||||
// Sessions Control
|
||||
// Sessions Control (grows witht the number of items displayed)
|
||||
this.sessionsControl?.layout(this.sessionsCount * AgentSessionsListDelegate.ITEM_HEIGHT, width);
|
||||
const sessionsContainerHeight = this.sessionsContainer?.offsetHeight ?? 0;
|
||||
remainingHeight -= sessionsContainerHeight;
|
||||
|
||||
const sessionsLinkHeight = this.sessionsLinkContainer?.offsetHeight ?? 0;
|
||||
this.sessionsControl?.layout(sessionsContainerHeight - sessionsLinkHeight, width);
|
||||
|
||||
// Chat Widget
|
||||
this._widget.layout(remainingHeight, width);
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
.agent-sessions-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-grow: 1;
|
||||
padding: 4px 8px;
|
||||
|
||||
.agent-sessions-viewer .monaco-list .monaco-list-row {
|
||||
|
||||
Reference in New Issue
Block a user