diff --git a/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.ts b/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.ts index c6ef4aa91da..0eea541bf13 100644 --- a/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.ts +++ b/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.ts @@ -63,8 +63,10 @@ export class ChatAccessibilityService extends Disposable implements IChatAccessi super.dispose(); } - acceptRequest(uri: URI): void { - this._accessibilitySignalService.playSignal(AccessibilitySignal.chatRequestSent, { allowManyInParallel: true }); + acceptRequest(uri: URI, skipRequestSignal?: boolean): void { + if (!skipRequestSignal) { + this._accessibilitySignalService.playSignal(AccessibilitySignal.chatRequestSent, { allowManyInParallel: true }); + } this._pendingSignalMap.set(uri, this._instantiationService.createInstance(AccessibilityProgressSignalScheduler, CHAT_RESPONSE_PENDING_ALLOWANCE_MS, undefined)); } diff --git a/src/vs/workbench/contrib/chat/browser/chat.ts b/src/vs/workbench/contrib/chat/browser/chat.ts index e4ca8618e39..2edca9a2966 100644 --- a/src/vs/workbench/contrib/chat/browser/chat.ts +++ b/src/vs/workbench/contrib/chat/browser/chat.ts @@ -111,7 +111,7 @@ export interface IQuickChatOpenOptions { export const IChatAccessibilityService = createDecorator('chatAccessibilityService'); export interface IChatAccessibilityService { readonly _serviceBrand: undefined; - acceptRequest(uri: URI): void; + acceptRequest(uri: URI, skipRequestSignal?: boolean): void; disposeRequest(requestId: URI): void; acceptResponse(widget: ChatWidget, container: HTMLElement, response: IChatResponseViewModel | string | undefined, requestId: URI | undefined, isVoiceInput?: boolean): void; acceptElicitation(message: IChatElicitationRequest): void; diff --git a/src/vs/workbench/contrib/chat/browser/widget/chatWidget.ts b/src/vs/workbench/contrib/chat/browser/widget/chatWidget.ts index bdc5faf1496..25da29c424b 100644 --- a/src/vs/workbench/contrib/chat/browser/widget/chatWidget.ts +++ b/src/vs/workbench/contrib/chat/browser/widget/chatWidget.ts @@ -301,6 +301,11 @@ export class ChatWidget extends Disposable implements IChatWidget { if (viewModel) { this.viewModelDisposables.add(viewModel); this.logService.debug('ChatWidget#setViewModel: have viewModel'); + + // If switching to a model with a request in progress, play progress sound + if (viewModel.model.requestInProgress.get()) { + this.chatAccessibilityService.acceptRequest(viewModel.sessionResource, true); + } } else { this.logService.debug('ChatWidget#setViewModel: no viewModel'); }