File tree Expand file tree Collapse file tree 2 files changed +10
-4
lines changed
src/vs/workbench/contrib/chat/common Expand file tree Collapse file tree 2 files changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -1077,6 +1077,12 @@ export class ChatResponseModel extends Disposable implements IChatResponseModel
10771077 this . _onDidChange . fire ( { reason : 'completedRequest' } ) ;
10781078 }
10791079
1080+ completeResponseIfNeeded ( ) {
1081+ if ( ! this . isComplete ) {
1082+ this . complete ( ) ;
1083+ }
1084+ }
1085+
10801086 cancel ( ) : void {
10811087 this . _modelState . set ( { value : ResponseModelState . Cancelled , completedAt : Date . now ( ) } , undefined ) ;
10821088 this . _onDidChange . fire ( { reason : 'completedRequest' } ) ;
Original file line number Diff line number Diff line change @@ -656,7 +656,7 @@ export class ChatService extends Disposable implements IChatService {
656656 for ( const message of providedSession . history ) {
657657 if ( message . type === 'request' ) {
658658 if ( lastRequest ) {
659- lastRequest . response ?. complete ( ) ;
659+ lastRequest . response ?. completeResponseIfNeeded ( ) ;
660660 }
661661
662662 const requestText = message . prompt ;
@@ -698,7 +698,7 @@ export class ChatService extends Disposable implements IChatService {
698698 }
699699
700700 if ( providedSession . isCompleteObs ?. get ( ) ) {
701- lastRequest ?. response ?. complete ( ) ;
701+ lastRequest ?. response ?. completeResponseIfNeeded ( ) ;
702702 }
703703
704704 if ( providedSession . progressObs && lastRequest && providedSession . interruptActiveResponseCallback ) {
@@ -737,15 +737,15 @@ export class ChatService extends Disposable implements IChatService {
737737
738738 // Handle completion
739739 if ( isComplete ) {
740- lastRequest . response ?. complete ( ) ;
740+ lastRequest . response ?. completeResponseIfNeeded ( ) ;
741741 cancellationListener . clear ( ) ;
742742 }
743743 } ) ) ;
744744 } else {
745745 if ( lastRequest && model . editingSession ) {
746746 // wait for timeline to load so that a 'changes' part is added when the response completes
747747 await chatEditingSessionIsReady ( model . editingSession ) ;
748- lastRequest . response ?. complete ( ) ;
748+ lastRequest . response ?. completeResponseIfNeeded ( ) ;
749749 }
750750 }
751751
You can’t perform that action at this time.
0 commit comments