From 11f8c71af2dca4fbdca7a0591243410bea54d6dc Mon Sep 17 00:00:00 2001 From: Omar Jarjur Date: Fri, 5 May 2023 05:43:47 +0000 Subject: [PATCH] Don't reset the MultiKernelManager's default kernel name if the KernelSpecManager's default kernel name is set to be empty --- jupyter_server/services/kernels/kernelmanager.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/jupyter_server/services/kernels/kernelmanager.py b/jupyter_server/services/kernels/kernelmanager.py index 2e3c4a1a68..bcdc8d11f7 100644 --- a/jupyter_server/services/kernels/kernelmanager.py +++ b/jupyter_server/services/kernels/kernelmanager.py @@ -723,7 +723,10 @@ def _default_default_kernel_name(self): @observe("default_kernel_name") def _observe_default_kernel_name(self, change): - if hasattr(self.kernel_spec_manager, "default_kernel_name"): + if ( + hasattr(self.kernel_spec_manager, "default_kernel_name") + and self.kernel_spec_manager.default_kernel_name + ): # If the kernel spec manager defines a default kernel name, treat that # one as authoritative. kernel_name = change.new @@ -740,6 +743,8 @@ def _observe_default_kernel_name(self, change): def _on_kernel_spec_manager_default_kernel_name_changed(self, change): # Sync the kernel-spec-manager's trait to the multi-kernel-manager's trait. kernel_name = change.new + if kernel_name is None: + return self.log.debug(f"KernelSpecManager default kernel name changed: {kernel_name}") self.default_kernel_name = kernel_name