diff --git a/data_studio_jupyter_extensions/_version.py b/data_studio_jupyter_extensions/_version.py index 6fdabe75f..06df5ed36 100644 --- a/data_studio_jupyter_extensions/_version.py +++ b/data_studio_jupyter_extensions/_version.py @@ -1 +1 @@ -__version__ = "0.19.4" # pragma: no cover +__version__ = "0.19.5" # pragma: no cover diff --git a/data_studio_jupyter_extensions/configurables/kernel_manager.py b/data_studio_jupyter_extensions/configurables/kernel_manager.py index f8e5b4806..271c6e7bd 100644 --- a/data_studio_jupyter_extensions/configurables/kernel_manager.py +++ b/data_studio_jupyter_extensions/configurables/kernel_manager.py @@ -36,7 +36,7 @@ async def post_start_kernel(self, **kwargs): # post_start_kernel starts the kernel_restarter. await super().post_start_kernel(**kwargs) - heartbeat_timeout = Int(180).tag(config=True) + heartbeat_timeout = Int(1800).tag(config=True) heartbeat = Instance(HBChannel, default_value=None, allow_none=True) async def start_heartbeat(self): diff --git a/data_studio_jupyter_extensions/configurables/kernel_restarter.py b/data_studio_jupyter_extensions/configurables/kernel_restarter.py index e334ca474..dd6fdfb9b 100644 --- a/data_studio_jupyter_extensions/configurables/kernel_restarter.py +++ b/data_studio_jupyter_extensions/configurables/kernel_restarter.py @@ -78,7 +78,7 @@ async def poll(self): if not self._connected_once: self._emit( state=constants.KERNEL_STATE.CONNECTING, - msg="", + msg="Waiting for a kernel heartbeat.", ) # Kernel is disconnected due to timeout. if km.heartbeat_timeout < (now - self._start_time): diff --git a/pyproject.toml b/pyproject.toml index fefed8a7c..c4cc8d47a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,7 +23,7 @@ testpaths = [ ] [tool.tbump.version] -current = "0.19.4" +current = "0.19.5" regex = ''' (?P\d+)\.(?P\d+)\.(?P\d+) ((?Pa|b|rc|.dev)(?P\d+))? diff --git a/src/status.tsx b/src/status.tsx index 6936108cd..05d4cd0d1 100644 --- a/src/status.tsx +++ b/src/status.tsx @@ -34,7 +34,7 @@ import { import { EventListener } from './eventlistener'; // This is managed by tbump config in pyproject.toml -const VERSION = '0.19.4'; +const VERSION = '0.19.5'; // Define the error states // https://github.pie.apple.com/pie-data-studio/notebook-service/blob/761d63604966db5918d2e491c0f89cce454b7f67/app/com/apple/datastudio/model/ResourceState.scala#L20 @@ -172,34 +172,23 @@ export const kernelStatusPlugin: JupyterFrontEndPlugin = { return; } - // Bail if we are connecting. - const connectionStatus = - panel.sessionContext.session?.kernel?.connectionStatus; - if (data.state == 'connecting' && connectionStatus === 'connecting') { - console.log( - `bailing because we are connecting to kernel ${data.kernel_id}` - ); - banner.setState(data); - return; - } - - if (data.state == 'connected' && connectionStatus === 'connected') { - banner.setState(data); - banner.hide(); - return; - } + // Open up the banner. + banner.show(); - if (data.status == 'terminated') { - banner.show(); - console.log( - `hiding banner for path ${panel.sessionContext.path} for kernel ${data.kernel_id}` - ); - banner.hide(); - return; + // Using a switch here for now. We may want + // to allow different states to do different things + // with the banner, so having a switch here is + // convenient. + switch (data.state) { + case 'connected': + banner.setState(data); + banner.hide(); + return; + + default: + // Update the banner state + banner.setState(data); } - // Update the banner state - banner.setState(data); - banner.show(); let dialog = dialogProperty.get(panel); if (dialog) { diff --git a/version b/version index c0b8d590f..16235ea28 100644 --- a/version +++ b/version @@ -1 +1 @@ -0.19.4 +0.19.5