From dc14e27f318c255c45711b5490b9867c0fc92584 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Wed, 5 Feb 2025 17:24:41 +0100 Subject: [PATCH] Improve handling of optional notebook tracker --- packages/lab-extension/src/index.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/lab-extension/src/index.ts b/packages/lab-extension/src/index.ts index 3a5d0d49b5..6549a9514e 100644 --- a/packages/lab-extension/src/index.ts +++ b/packages/lab-extension/src/index.ts @@ -69,8 +69,9 @@ const interfaceSwitcher: JupyterFrontEndPlugin = { id: '@jupyter-notebook/lab-extension:interface-switcher', description: 'A plugin to add custom toolbar items to the notebook page.', autoStart: true, - requires: [ITranslator, INotebookTracker], + requires: [ITranslator], optional: [ + INotebookTracker, ICommandPalette, INotebookPathOpener, INotebookShell, @@ -80,13 +81,18 @@ const interfaceSwitcher: JupyterFrontEndPlugin = { activate: ( app: JupyterFrontEnd, translator: ITranslator, - notebookTracker: INotebookTracker, + notebookTracker: INotebookTracker | null, palette: ICommandPalette | null, notebookPathOpener: INotebookPathOpener | null, notebookShell: INotebookShell | null, labShell: ILabShell | null, toolbarRegistry: IToolbarWidgetRegistry | null ) => { + if (!notebookTracker) { + // bail if trying to use this plugin without a notebook tracker + return; + } + const { commands, shell } = app; const baseUrl = PageConfig.getBaseUrl(); const trans = translator.load('notebook');