From 4012be5b6b9ac17983fe1be4ee998467caf0aa65 Mon Sep 17 00:00:00 2001 From: Angus Hollands Date: Mon, 29 Jan 2024 20:04:42 +0000 Subject: [PATCH] fix: load server settings asynchronously --- packages/myst-cli/src/session/session.ts | 33 ++++++++++-------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/packages/myst-cli/src/session/session.ts b/packages/myst-cli/src/session/session.ts index a71e25444..bebcf5c23 100644 --- a/packages/myst-cli/src/session/session.ts +++ b/packages/myst-cli/src/session/session.ts @@ -176,27 +176,20 @@ export class Session implements ISession { if (this._jupyterSessionManager !== null) { return Promise.resolve(this._jupyterSessionManager); } + try { - const partialServerSettings = await new Promise((resolve, reject) => { - if (process.env.JUPYTER_BASE_URL === undefined) { - const settings = findExistingJupyterServer(); - if (settings) { - console.log('LOADED EXISTING'); - return resolve(settings); - } else { - console.log('LAUNCH NEW'); - return launchJupyterServer(this.contentPath(), this.log).then((launchedSettings) => { - console.log('LOADED', launchedSettings); - resolve(launchedSettings); - }); - } - } else { - resolve({ - baseUrl: process.env.JUPYTER_BASE_URL, - token: process.env.JUPYTER_TOKEN, - }); - } - }); + let partialServerSettings: JupyterServerSettings | undefined; + if (process.env.JUPYTER_BASE_URL !== undefined) { + partialServerSettings = { + baseUrl: process.env.JUPYTER_BASE_URL, + token: process.env.JUPYTER_TOKEN, + }; + } else { + partialServerSettings = + (await findExistingJupyterServer()) || + (await launchJupyterServer(this.contentPath(), this.log)); + } + const serverSettings = ServerConnection.makeSettings(partialServerSettings); const kernelManager = new KernelManager({ serverSettings }); const manager = new SessionManager({ kernelManager, serverSettings });