From b99c9402adeb4b8afb7e7f7c9946b7b9ba7059fd Mon Sep 17 00:00:00 2001 From: Ian Huff Date: Wed, 5 Feb 2020 14:58:41 -0800 Subject: [PATCH 1/2] Use the autoStart server if it matches when starting a new server (#9929) * don't cancel an already resolve servercache just due to disableUI changes * don't pull data a second time --- news/2 Fixes/9926.md | 1 + .../datascience/jupyter/liveshare/serverCache.ts | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 news/2 Fixes/9926.md diff --git a/news/2 Fixes/9926.md b/news/2 Fixes/9926.md new file mode 100644 index 000000000000..c609b86c388b --- /dev/null +++ b/news/2 Fixes/9926.md @@ -0,0 +1 @@ +Use the autoStart server when available. diff --git a/src/client/datascience/jupyter/liveshare/serverCache.ts b/src/client/datascience/jupyter/liveshare/serverCache.ts index 663452536af5..b9390fd6d311 100644 --- a/src/client/datascience/jupyter/liveshare/serverCache.ts +++ b/src/client/datascience/jupyter/liveshare/serverCache.ts @@ -17,6 +17,7 @@ interface IServerData { options: INotebookServerOptions; promise: Promise; cancelSource: CancellationTokenSource; + resolved: boolean; } export class ServerCache implements IAsyncDisposable { @@ -43,7 +44,7 @@ export class ServerCache implements IAsyncDisposable { // See if the old options had the same UI setting. If not, // cancel the old - if (data && data.options.disableUI !== fixedOptions.disableUI) { + if (data && !data.resolved && data.options.disableUI !== fixedOptions.disableUI) { traceInfo('Cancelling server create as UI state has changed'); data.cancelSource.cancel(); data = undefined; @@ -55,7 +56,8 @@ export class ServerCache implements IAsyncDisposable { data = { promise: createFunction(options, cancelSource.token), options: fixedOptions, - cancelSource + cancelSource, + resolved: false }; this.cache.set(key, data); } @@ -75,6 +77,11 @@ export class ServerCache implements IAsyncDisposable { return oldDispose(); }; + // We've resolved the promise at this point + if (data) { + data.resolved = true; + } + return server; }) .catch(e => { From 016a6fd650e98ec13db39cc9c323ac3d9720d46b Mon Sep 17 00:00:00 2001 From: Ian Huff Date: Wed, 5 Feb 2020 15:54:51 -0800 Subject: [PATCH 2/2] update changelog --- CHANGELOG.md | 2 ++ news/2 Fixes/9926.md | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) delete mode 100644 news/2 Fixes/9926.md diff --git a/CHANGELOG.md b/CHANGELOG.md index bcdbb6a4e472..8efcb06c40ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,8 @@ ### Fixes +1. Use the autoStart server when available. + ([#9926](https://github.com/Microsoft/vscode-python/issues/9926)) 1. Removed unnecessary warning when executing cells that use Scrapbook, Fix an html crash when using not supported mime types ([#9796](https://github.com/microsoft/vscode-python/issues/9796)) diff --git a/news/2 Fixes/9926.md b/news/2 Fixes/9926.md deleted file mode 100644 index c609b86c388b..000000000000 --- a/news/2 Fixes/9926.md +++ /dev/null @@ -1 +0,0 @@ -Use the autoStart server when available.