diff --git a/src/extension/chatSessions/vscode-node/chatSessions.ts b/src/extension/chatSessions/vscode-node/chatSessions.ts index 38b3b1c7db..f6565668c9 100644 --- a/src/extension/chatSessions/vscode-node/chatSessions.ts +++ b/src/extension/chatSessions/vscode-node/chatSessions.ts @@ -135,11 +135,12 @@ export class ChatSessionsContrib extends Disposable implements IExtensionContrib this.copilotCloudRegistrations.add( vscode.chat.registerChatSessionItemProvider(CopilotCloudSessionsProvider.TYPE, cloudSessionsProvider) ); + const cloudChatParticipant = vscode.chat.createChatParticipant(CopilotCloudSessionsProvider.TYPE, cloudSessionsProvider.createHandler()); this.copilotCloudRegistrations.add( vscode.chat.registerChatSessionContentProvider( CopilotCloudSessionsProvider.TYPE, cloudSessionsProvider, - cloudSessionsProvider.chatParticipant, + cloudChatParticipant, { supportsInterruptions: true } ) ); diff --git a/src/extension/chatSessions/vscode-node/copilotCloudSessionsProvider.ts b/src/extension/chatSessions/vscode-node/copilotCloudSessionsProvider.ts index c75f47fc3e..14bbd7642a 100644 --- a/src/extension/chatSessions/vscode-node/copilotCloudSessionsProvider.ts +++ b/src/extension/chatSessions/vscode-node/copilotCloudSessionsProvider.ts @@ -68,9 +68,6 @@ export class CopilotCloudSessionsProvider extends Disposable implements vscode.C private chatSessions: Map = new Map(); private chatSessionItemsPromise: Promise | undefined; private sessionAgentMap: Map = new Map(); - public chatParticipant = vscode.chat.createChatParticipant(CopilotCloudSessionsProvider.TYPE, async (request, context, stream, token) => - await this.chatParticipantImpl(request, context, stream, token) - ); private cachedSessionsSize: number = 0; constructor( @@ -98,6 +95,10 @@ export class CopilotCloudSessionsProvider extends Disposable implements vscode.C this._onDidChangeChatSessionItems.fire(); } + createHandler(): vscode.ChatExtendedRequestHandler { + return this.chatParticipantImpl.bind(this); + } + async provideChatSessionProviderOptions(token: vscode.CancellationToken): Promise { const repoId = await getRepoId(this._gitService); if (!repoId) {