From a1a26af53b45e2b11b8557cec0153645c0328550 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 16 Oct 2025 16:00:15 +0000 Subject: [PATCH 1/7] Initial plan From 5c9357c404a2207747b3c30ebd61b0c6c040c485 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 16 Oct 2025 16:07:39 +0000 Subject: [PATCH 2/7] Initial investigation of reviewer icon misalignment issue Co-authored-by: alexr00 <38270282+alexr00@users.noreply.github.com> --- ...scode.proposed.chatParticipantPrivate.d.ts | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/@types/vscode.proposed.chatParticipantPrivate.d.ts b/src/@types/vscode.proposed.chatParticipantPrivate.d.ts index e3c786f1d1..5f269f878e 100644 --- a/src/@types/vscode.proposed.chatParticipantPrivate.d.ts +++ b/src/@types/vscode.proposed.chatParticipantPrivate.d.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -// version: 10 +// version: 11 declare module 'vscode' { @@ -285,4 +285,24 @@ declare module 'vscode' { } // #endregion + + // #region LanguageModelProxyProvider + + /** + * Duplicated so that this proposal and languageModelProxy can be independent. + */ + export interface LanguageModelProxyInfo { + readonly uri: Uri; + readonly key: string; + } + + export interface LanguageModelProxyProvider { + provideModelProxy(forExtensionId: string, token: CancellationToken): ProviderResult; + } + + export namespace lm { + export function registerLanguageModelProxyProvider(provider: LanguageModelProxyProvider): Disposable; + } + + // #endregion } From b0d83104d1075e562b3292edbb9ddd570ad86dbb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 16 Oct 2025 16:10:24 +0000 Subject: [PATCH 3/7] Fix reviewer icons misalignment by adding align-items: center Co-authored-by: alexr00 <38270282+alexr00@users.noreply.github.com> --- webviews/common/common.css | 1 + 1 file changed, 1 insertion(+) diff --git a/webviews/common/common.css b/webviews/common/common.css index a198813a65..73038ead3f 100644 --- a/webviews/common/common.css +++ b/webviews/common/common.css @@ -235,6 +235,7 @@ body img.avatar { .reviewer-icons { display: flex; + align-items: center; gap: 4px; } From 2c5d21d5b17789b3233b329cfab0001f9967f1d9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 16 Oct 2025 16:24:27 +0000 Subject: [PATCH 4/7] Add justify-content: flex-end to align reviewer icons horizontally Co-authored-by: alexr00 <38270282+alexr00@users.noreply.github.com> --- webviews/common/common.css | 1 + 1 file changed, 1 insertion(+) diff --git a/webviews/common/common.css b/webviews/common/common.css index 73038ead3f..39f778d9b6 100644 --- a/webviews/common/common.css +++ b/webviews/common/common.css @@ -236,6 +236,7 @@ body img.avatar { .reviewer-icons { display: flex; align-items: center; + justify-content: flex-end; gap: 4px; } From bc9b17b4fb07b02f417ab800d87a061f735b9048 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 17 Oct 2025 11:09:17 +0000 Subject: [PATCH 5/7] Hide aria alert div to prevent layout space consumption Co-authored-by: alexr00 <38270282+alexr00@users.noreply.github.com> --- ...scode.proposed.chatParticipantPrivate.d.ts | 4 +- .../vscode.proposed.chatSessionsProvider.d.ts | 52 +++++++++++++++++++ webviews/common/common.css | 7 +++ 3 files changed, 61 insertions(+), 2 deletions(-) diff --git a/src/@types/vscode.proposed.chatParticipantPrivate.d.ts b/src/@types/vscode.proposed.chatParticipantPrivate.d.ts index 5f269f878e..dca0f364d7 100644 --- a/src/@types/vscode.proposed.chatParticipantPrivate.d.ts +++ b/src/@types/vscode.proposed.chatParticipantPrivate.d.ts @@ -291,13 +291,13 @@ declare module 'vscode' { /** * Duplicated so that this proposal and languageModelProxy can be independent. */ - export interface LanguageModelProxyInfo { + export interface LanguageModelProxy extends Disposable { readonly uri: Uri; readonly key: string; } export interface LanguageModelProxyProvider { - provideModelProxy(forExtensionId: string, token: CancellationToken): ProviderResult; + provideModelProxy(forExtensionId: string, token: CancellationToken): ProviderResult; } export namespace lm { diff --git a/src/@types/vscode.proposed.chatSessionsProvider.d.ts b/src/@types/vscode.proposed.chatSessionsProvider.d.ts index 4ef1ed9405..534c45a192 100644 --- a/src/@types/vscode.proposed.chatSessionsProvider.d.ts +++ b/src/@types/vscode.proposed.chatSessionsProvider.d.ts @@ -71,9 +71,18 @@ declare module 'vscode' { export interface ChatSessionItem { /** * Unique identifier for the chat session. + * + * @deprecated Will be replaced by `resource` */ id: string; + /** + * The resource associated with the chat session. + * + * This is uniquely identifies the chat session and is used to open the chat session. + */ + resource: Uri | undefined; + /** * Human readable name of the session shown in the UI */ @@ -139,6 +148,11 @@ declare module 'vscode' { // TODO: link request + response to encourage correct usage? readonly history: ReadonlyArray; + /** + * Options configured for this session. + */ + readonly options?: { model?: LanguageModelChatInformation }; + /** * Callback invoked by the editor for a currently running response. This allows the session to push items for the * current response and stream these in as them come in. The current response will be considered complete once the @@ -166,6 +180,32 @@ declare module 'vscode' { * @param token A cancellation token that can be used to cancel the operation. */ provideChatSessionContent(sessionId: string, token: CancellationToken): Thenable | ChatSession; + + /** + * + * @param sessionId Identifier of the chat session being updated. + * @param updates Collection of option identifiers and their new values. Only the options that changed are included. + * @param token A cancellation token that can be used to cancel the notification if the session is disposed. + */ + provideHandleOptionsChange?(sessionId: string, updates: ReadonlyArray, token: CancellationToken): void; + + /** + * Called as soon as you register (call me once) + * @param token + */ + provideChatSessionProviderOptions?(token: CancellationToken): Thenable | ChatSessionProviderOptions; + } + + export interface ChatSessionOptionUpdate { + /** + * Identifier of the option that changed (for example `model`). + */ + readonly optionId: string; + + /** + * The new value assigned to the option. When `undefined`, the option is cleared. + */ + readonly value: string | undefined; } export namespace chat { @@ -212,6 +252,16 @@ declare module 'vscode' { supportsInterruptions?: boolean; } + export interface ChatSessionProviderOptions { + /** + * Set of available models. + */ + models?: LanguageModelChatInformation[]; + } + + /** + * @deprecated + */ export interface ChatSessionShowOptions { /** * The editor view column to show the chat session in. @@ -224,6 +274,8 @@ declare module 'vscode' { export namespace window { /** * Shows a chat session in the panel or editor. + * + * @deprecated */ export function showChatSession(chatSessionType: string, sessionId: string, options: ChatSessionShowOptions): Thenable; } diff --git a/webviews/common/common.css b/webviews/common/common.css index 39f778d9b6..ac9003f43d 100644 --- a/webviews/common/common.css +++ b/webviews/common/common.css @@ -240,6 +240,13 @@ body img.avatar { gap: 4px; } +.reviewer-icons [role='alert'] { + position: absolute; + width: 0; + height: 0; + overflow: hidden; +} + .push-right { margin-left: auto; } From 4b7d7be5322573ec0e35a147a0ee0cee53862421 Mon Sep 17 00:00:00 2001 From: Alex Ross <38270282+alexr00@users.noreply.github.com> Date: Thu, 30 Oct 2025 11:27:46 +0100 Subject: [PATCH 6/7] revert --- ...scode.proposed.chatParticipantPrivate.d.ts | 22 +------- .../vscode.proposed.chatSessionsProvider.d.ts | 52 ------------------- 2 files changed, 1 insertion(+), 73 deletions(-) diff --git a/src/@types/vscode.proposed.chatParticipantPrivate.d.ts b/src/@types/vscode.proposed.chatParticipantPrivate.d.ts index dca0f364d7..e3c786f1d1 100644 --- a/src/@types/vscode.proposed.chatParticipantPrivate.d.ts +++ b/src/@types/vscode.proposed.chatParticipantPrivate.d.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -// version: 11 +// version: 10 declare module 'vscode' { @@ -285,24 +285,4 @@ declare module 'vscode' { } // #endregion - - // #region LanguageModelProxyProvider - - /** - * Duplicated so that this proposal and languageModelProxy can be independent. - */ - export interface LanguageModelProxy extends Disposable { - readonly uri: Uri; - readonly key: string; - } - - export interface LanguageModelProxyProvider { - provideModelProxy(forExtensionId: string, token: CancellationToken): ProviderResult; - } - - export namespace lm { - export function registerLanguageModelProxyProvider(provider: LanguageModelProxyProvider): Disposable; - } - - // #endregion } diff --git a/src/@types/vscode.proposed.chatSessionsProvider.d.ts b/src/@types/vscode.proposed.chatSessionsProvider.d.ts index 534c45a192..4ef1ed9405 100644 --- a/src/@types/vscode.proposed.chatSessionsProvider.d.ts +++ b/src/@types/vscode.proposed.chatSessionsProvider.d.ts @@ -71,18 +71,9 @@ declare module 'vscode' { export interface ChatSessionItem { /** * Unique identifier for the chat session. - * - * @deprecated Will be replaced by `resource` */ id: string; - /** - * The resource associated with the chat session. - * - * This is uniquely identifies the chat session and is used to open the chat session. - */ - resource: Uri | undefined; - /** * Human readable name of the session shown in the UI */ @@ -148,11 +139,6 @@ declare module 'vscode' { // TODO: link request + response to encourage correct usage? readonly history: ReadonlyArray; - /** - * Options configured for this session. - */ - readonly options?: { model?: LanguageModelChatInformation }; - /** * Callback invoked by the editor for a currently running response. This allows the session to push items for the * current response and stream these in as them come in. The current response will be considered complete once the @@ -180,32 +166,6 @@ declare module 'vscode' { * @param token A cancellation token that can be used to cancel the operation. */ provideChatSessionContent(sessionId: string, token: CancellationToken): Thenable | ChatSession; - - /** - * - * @param sessionId Identifier of the chat session being updated. - * @param updates Collection of option identifiers and their new values. Only the options that changed are included. - * @param token A cancellation token that can be used to cancel the notification if the session is disposed. - */ - provideHandleOptionsChange?(sessionId: string, updates: ReadonlyArray, token: CancellationToken): void; - - /** - * Called as soon as you register (call me once) - * @param token - */ - provideChatSessionProviderOptions?(token: CancellationToken): Thenable | ChatSessionProviderOptions; - } - - export interface ChatSessionOptionUpdate { - /** - * Identifier of the option that changed (for example `model`). - */ - readonly optionId: string; - - /** - * The new value assigned to the option. When `undefined`, the option is cleared. - */ - readonly value: string | undefined; } export namespace chat { @@ -252,16 +212,6 @@ declare module 'vscode' { supportsInterruptions?: boolean; } - export interface ChatSessionProviderOptions { - /** - * Set of available models. - */ - models?: LanguageModelChatInformation[]; - } - - /** - * @deprecated - */ export interface ChatSessionShowOptions { /** * The editor view column to show the chat session in. @@ -274,8 +224,6 @@ declare module 'vscode' { export namespace window { /** * Shows a chat session in the panel or editor. - * - * @deprecated */ export function showChatSession(chatSessionType: string, sessionId: string, options: ChatSessionShowOptions): Thenable; } From 25c459d2aebe25bcaee7eb7465918d8fec6ba19b Mon Sep 17 00:00:00 2001 From: Alex Ross <38270282+alexr00@users.noreply.github.com> Date: Thu, 30 Oct 2025 11:32:25 +0100 Subject: [PATCH 7/7] Remove extra css --- webviews/common/common.css | 2 -- 1 file changed, 2 deletions(-) diff --git a/webviews/common/common.css b/webviews/common/common.css index ac9003f43d..24e4d5a07d 100644 --- a/webviews/common/common.css +++ b/webviews/common/common.css @@ -235,8 +235,6 @@ body img.avatar { .reviewer-icons { display: flex; - align-items: center; - justify-content: flex-end; gap: 4px; }