@@ -71,6 +71,7 @@ import { initializeInteractiveOrNotebookTelemetryBasedOnUserAction } from '../..
7171import { NotebookCellLanguageService } from '../languages/cellLanguageService' ;
7272import { IDataScienceErrorHandler } from '../../kernels/errors/types' ;
7373import { ITrustedKernelPaths } from '../../kernels/raw/finder/types' ;
74+ import { KernelController } from '../../kernels/kernelController' ;
7475import { RemoteKernelReconnectBusyIndicator } from './remoteKernelReconnectBusyIndicator' ;
7576import { LastCellExecutionTracker } from '../../kernels/execution/lastCellExecutionTracker' ;
7677import type { IAnyMessageArgs } from '@jupyterlab/services/lib/kernel/kernel' ;
@@ -547,7 +548,7 @@ export class VSCodeNotebookController implements Disposable, IVSCodeNotebookCont
547548 // Creating these execution objects marks the cell as queued for execution (vscode will update cell UI).
548549 type CellExec = { cell : NotebookCell ; exec : NotebookCellExecution } ;
549550 const cellExecs : CellExec [ ] = ( this . cellQueue . get ( doc ) || [ ] ) . map ( ( cell ) => {
550- const exec = this . createCellExecutionIfNecessary ( cell , this . controller ) ;
551+ const exec = this . createCellExecutionIfNecessary ( cell , new KernelController ( this . controller ) ) ;
551552 return { cell, exec } ;
552553 } ) ;
553554 this . cellQueue . delete ( doc ) ;
@@ -560,7 +561,7 @@ export class VSCodeNotebookController implements Disposable, IVSCodeNotebookCont
560561
561562 // Connect to a matching kernel if possible (but user may pick a different one)
562563 let currentContext : 'start' | 'execution' = 'start' ;
563- let controller : IKernelController = this . controller ;
564+ let controller : IKernelController = new KernelController ( this . controller ) ;
564565 const lastCellExecutionTracker = this . serviceContainer . get < LastCellExecutionTracker > ( LastCellExecutionTracker ) ;
565566 let kernel : IKernel | undefined ;
566567 try {
0 commit comments