File tree Expand file tree Collapse file tree 2 files changed +25
-0
lines changed
python/jupyterlab_widgets/src Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -112,6 +112,9 @@ export abstract class LabWidgetManager
112112 super . disconnect ( ) ;
113113 this . _restoredStatus = false ;
114114 }
115+ get disconnected ( ) {
116+ return ! this . _restoredStatus ;
117+ }
115118
116119 protected async _loadFromKernel ( ) : Promise < void > {
117120 if ( ! this . kernel ) {
@@ -471,6 +474,11 @@ export class KernelWidgetManager extends LabWidgetManager {
471474 }
472475 }
473476
477+ static existsWithActiveKenel ( id : string ) {
478+ const widgetManager = Private . kernelWidgetManagers . get ( id ) ;
479+ return ! widgetManager ?. disconnected ;
480+ }
481+
474482 _handleKernelStatusChange (
475483 sender : Kernel . IKernelConnection ,
476484 status : Kernel . Status
Original file line number Diff line number Diff line change @@ -25,6 +25,7 @@ import { DisposableDelegate } from '@lumino/disposable';
2525import { WidgetRenderer } from './renderer' ;
2626
2727import {
28+ KernelWidgetManager ,
2829 LabWidgetManager ,
2930 WIDGET_VIEW_MIMETYPE ,
3031 WidgetManager ,
@@ -103,6 +104,22 @@ function activateWidgetExtension(
103104 const { commands } = app ;
104105 const trans = ( translator ?? nullTranslator ) . load ( 'jupyterlab_widgets' ) ;
105106
107+ app . serviceManager . kernels . runningChanged . connect ( ( models ) => {
108+ for ( const model of models . running ( ) ) {
109+ if (
110+ model &&
111+ model . name === 'python3' &&
112+ model . execution_state !== 'starting' &&
113+ ! KernelWidgetManager . existsWithActiveKenel ( model . id )
114+ ) {
115+ const kernel = app . serviceManager . kernels . connectTo ( { model : model } ) ;
116+ if ( kernel . handleComms ) {
117+ new KernelWidgetManager ( kernel ) ;
118+ }
119+ }
120+ }
121+ } ) ;
122+
106123 if ( settingRegistry !== null ) {
107124 settingRegistry
108125 . load ( managerPlugin . id )
You can’t perform that action at this time.
0 commit comments