agent sessions - flip default for insiders to show single-view (#278731)

* agent sessions - flip default for insiders to show `single-view`

* fix smoke test
This commit is contained in:
Benjamin Pasero
2025-11-21 11:58:18 +01:00
committed by GitHub
parent 7a4398bb63
commit 69f5e04673
4 changed files with 9 additions and 6 deletions

View File

@@ -214,5 +214,4 @@
"azureMcp.serverMode": "all", "azureMcp.serverMode": "all",
"azureMcp.readOnly": true, "azureMcp.readOnly": true,
"chat.tools.terminal.outputLocation": "none", "chat.tools.terminal.outputLocation": "none",
"chat.agentSessionsViewLocation": "single-view"
} }

View File

@@ -516,8 +516,8 @@ export function registerChatActions() {
ContextKeyExpr.equals('view', ChatViewId), ContextKeyExpr.equals('view', ChatViewId),
ChatContextKeys.inEmptyStateWithHistoryEnabled.negate() ChatContextKeys.inEmptyStateWithHistoryEnabled.negate()
), ),
group: 'navigation', group: '2_history',
order: 2 order: 1
}, },
{ {
id: MenuId.EditorTitle, id: MenuId.EditorTitle,

View File

@@ -529,7 +529,7 @@ configurationRegistry.registerConfiguration({
type: 'string', type: 'string',
enum: ['disabled', 'view', 'single-view'], enum: ['disabled', 'view', 'single-view'],
description: nls.localize('chat.sessionsViewLocation.description', "Controls where to show the agent sessions menu."), description: nls.localize('chat.sessionsViewLocation.description', "Controls where to show the agent sessions menu."),
default: 'view', default: product.quality === 'stable' ? 'view' : 'single-view',
tags: ['experimental'], tags: ['experimental'],
experiment: { experiment: {
mode: 'auto' mode: 'auto'

View File

@@ -87,6 +87,7 @@ import { IPosition } from '../../../../editor/common/core/position.js';
import { IMarker, IMarkerService, MarkerSeverity } from '../../../../platform/markers/common/markers.js'; import { IMarker, IMarkerService, MarkerSeverity } from '../../../../platform/markers/common/markers.js';
import { EditorContextKeys } from '../../../../editor/common/editorContextKeys.js'; import { EditorContextKeys } from '../../../../editor/common/editorContextKeys.js';
import { ICodeEditorService } from '../../../../editor/browser/services/codeEditorService.js'; import { ICodeEditorService } from '../../../../editor/browser/services/codeEditorService.js';
import { AGENT_SESSIONS_VIEW_CONTAINER_ID } from './agentSessions/agentSessions.js';
const defaultChat = { const defaultChat = {
extensionId: product.defaultChatAgent?.extensionId ?? '', extensionId: product.defaultChatAgent?.extensionId ?? '',
@@ -1672,9 +1673,12 @@ export class ChatTeardownContribution extends Disposable implements IWorkbenchCo
const activeContainers = this.viewDescriptorService.getViewContainersByLocation(ViewContainerLocation.AuxiliaryBar).filter( const activeContainers = this.viewDescriptorService.getViewContainersByLocation(ViewContainerLocation.AuxiliaryBar).filter(
container => this.viewDescriptorService.getViewContainerModel(container).activeViewDescriptors.length > 0 container => this.viewDescriptorService.getViewContainerModel(container).activeViewDescriptors.length > 0
); );
const hasChatView = activeContainers.some(container => container.id === CHAT_SIDEBAR_PANEL_ID);
const hasAgentSessionsView = activeContainers.some(container => container.id === AGENT_SESSIONS_VIEW_CONTAINER_ID);
if ( if (
(activeContainers.length === 0) || // chat view is already gone but we know it was there before (activeContainers.length === 0) || // chat view is already gone but we know it was there before
(activeContainers.length === 1 && activeContainers.at(0)?.id === CHAT_SIDEBAR_PANEL_ID) // chat view is the only view which is going to go away (activeContainers.length === 1 && (hasChatView || hasAgentSessionsView)) || // chat view or agent sessions is the only view which is going to go away
(activeContainers.length === 2 && hasChatView && hasAgentSessionsView) // both chat and agent sessions view are going to go away
) { ) {
this.layoutService.setPartHidden(true, Parts.AUXILIARYBAR_PART); // hide if there are no views in the secondary sidebar this.layoutService.setPartHidden(true, Parts.AUXILIARYBAR_PART); // hide if there are no views in the secondary sidebar
} }