From 2775683f5ad0ff87b1c573e14e09df8decab2265 Mon Sep 17 00:00:00 2001 From: Vadym Kaidalov Date: Tue, 10 Aug 2021 22:48:44 +0300 Subject: [PATCH] Rename `bandwidthSaveMode` to `isConnected` in `JupyterLab.IInfo` --- packages/application/src/lab.ts | 12 ++++++------ packages/docmanager-extension/src/index.ts | 7 +++++-- packages/docmanager/src/manager.ts | 13 ++++++------- packages/docmanager/src/savehandler.ts | 13 ++++++------- packages/filebrowser-extension/src/index.ts | 5 ++++- packages/hub-extension/src/index.ts | 4 ++-- 6 files changed, 29 insertions(+), 25 deletions(-) diff --git a/packages/application/src/lab.ts b/packages/application/src/lab.ts index aa001fdbccd1..6bf610aa9059 100644 --- a/packages/application/src/lab.ts +++ b/packages/application/src/lab.ts @@ -26,7 +26,7 @@ export class JupyterLab extends JupyterFrontEnd { options.serviceManager || new ServiceManager({ standby: () => { - return this._info.bandwidthSaveMode || 'when-hidden'; + return !this._info.isConnected || 'when-hidden'; } }) }); @@ -221,15 +221,15 @@ export namespace JupyterLab { /** * Every periodic network polling should be paused while this is set - * to `true`. Extensions should use this value to decide whether to proceed + * to `false`. Extensions should use this value to decide whether to proceed * with the polling. - * The extensions may also set this value to `true` if there is no need to + * The extensions may also set this value to `false` if there is no need to * fetch anything from the server backend basing on some conditions * (e.g. when an error message dialog is displayed). * At the same time, the extensions are responsible for setting this value - * back to `false`. + * back to `true`. */ - bandwidthSaveMode: boolean; + isConnected: boolean; } /** @@ -241,7 +241,7 @@ export namespace JupyterLab { disabled: { patterns: [], matches: [] }, mimeExtensions: [], filesCached: PageConfig.getOption('cacheFiles').toLowerCase() === 'true', - bandwidthSaveMode: false + isConnected: true }; /** diff --git a/packages/docmanager-extension/src/index.ts b/packages/docmanager-extension/src/index.ts index 0ae2a9100955..279d5c2c07be 100644 --- a/packages/docmanager-extension/src/index.ts +++ b/packages/docmanager-extension/src/index.ts @@ -143,8 +143,11 @@ const docManagerPlugin: JupyterFrontEndPlugin = { translator, collaborative: true, docProviderFactory: docProviderFactory ?? undefined, - bandwidthSaveModeCallback: () => { - return info?.bandwidthSaveMode || false; + isConnectedCallback: () => { + if (info) { + return info.isConnected; + } + return true; } }); diff --git a/packages/docmanager/src/manager.ts b/packages/docmanager/src/manager.ts index b94cccf2655d..d2089dde586a 100644 --- a/packages/docmanager/src/manager.ts +++ b/packages/docmanager/src/manager.ts @@ -37,13 +37,12 @@ export class DocumentManager implements IDocumentManager { */ constructor(options: DocumentManager.IOptions) { this.translator = options.translator || nullTranslator; - this._bandwidthSaveModeCallback = - options.bandwidthSaveModeCallback || (() => false); this.registry = options.registry; this.services = options.manager; this._collaborative = !!options.collaborative; this._dialogs = options.sessionDialogs || sessionContextDialogs; this._docProviderFactory = options.docProviderFactory; + this._isConnectedCallback = options.isConnectedCallback || (() => true); this._opener = options.opener; this._when = options.when || options.manager.ready; @@ -479,7 +478,7 @@ export class DocumentManager implements IDocumentManager { }); const handler = new SaveHandler({ context, - bandwidthSaveModeCallback: this._bandwidthSaveModeCallback, + isConnectedCallback: this._isConnectedCallback, saveInterval: this.autosaveInterval }); Private.saveHandlerProperty.set(context, handler); @@ -605,7 +604,7 @@ export class DocumentManager implements IDocumentManager { private _dialogs: ISessionContext.IDialogs; private _docProviderFactory: IDocumentProviderFactory | undefined; private _collaborative: boolean; - private _bandwidthSaveModeCallback: () => boolean; + private _isConnectedCallback: () => boolean; } /** @@ -663,10 +662,10 @@ export namespace DocumentManager { collaborative?: boolean; /** - * Autosaving should be paused while this callback function returns `true`. - * By default, it always returns `false`. + * Autosaving should be paused while this callback function returns `false`. + * By default, it always returns `true`. */ - bandwidthSaveModeCallback?: () => boolean; + isConnectedCallback?: () => boolean; } /** diff --git a/packages/docmanager/src/savehandler.ts b/packages/docmanager/src/savehandler.ts index 9aed0ce30e31..1ea9b71ff55f 100644 --- a/packages/docmanager/src/savehandler.ts +++ b/packages/docmanager/src/savehandler.ts @@ -17,8 +17,7 @@ export class SaveHandler implements IDisposable { */ constructor(options: SaveHandler.IOptions) { this._context = options.context; - this._bandwidthSaveModeCallback = - options.bandwidthSaveModeCallback || (() => false); + this._isConnectedCallback = options.isConnectedCallback || (() => true); const interval = options.saveInterval || 120; this._minInterval = interval * 1000; this._interval = this._minInterval; @@ -91,7 +90,7 @@ export class SaveHandler implements IDisposable { return; } this._autosaveTimer = window.setTimeout(() => { - if (!this._bandwidthSaveModeCallback()) { + if (this._isConnectedCallback()) { this._save(); } }, this._interval); @@ -148,7 +147,7 @@ export class SaveHandler implements IDisposable { private _minInterval = -1; private _interval = -1; private _context: DocumentRegistry.Context; - private _bandwidthSaveModeCallback: () => boolean; + private _isConnectedCallback: () => boolean; private _isActive = false; private _inDialog = false; private _isDisposed = false; @@ -169,10 +168,10 @@ export namespace SaveHandler { context: DocumentRegistry.Context; /** - * Autosaving should be paused while this callback function returns `true`. - * By default, it always returns `false`. + * Autosaving should be paused while this callback function returns `false`. + * By default, it always returns `true`. */ - bandwidthSaveModeCallback?: () => boolean; + isConnectedCallback?: () => boolean; /** * The minimum save interval in seconds (default is two minutes). diff --git a/packages/filebrowser-extension/src/index.ts b/packages/filebrowser-extension/src/index.ts index 91f883a2a1dc..cd39f4e90cdc 100644 --- a/packages/filebrowser-extension/src/index.ts +++ b/packages/filebrowser-extension/src/index.ts @@ -275,7 +275,10 @@ const factory: JupyterFrontEndPlugin = { driveName: options.driveName || '', refreshInterval: options.refreshInterval, refreshStandby: () => { - return info?.bandwidthSaveMode || 'when-hidden'; + if (info) { + return !info.isConnected || 'when-hidden'; + } + return 'when-hidden'; }, state: options.state === null diff --git a/packages/hub-extension/src/index.ts b/packages/hub-extension/src/index.ts index 5099c60edeef..647125a74fa0 100644 --- a/packages/hub-extension/src/index.ts +++ b/packages/hub-extension/src/index.ts @@ -155,7 +155,7 @@ const connectionlost: JupyterFrontEndPlugin = { showingError = true; if (info) { - info.bandwidthSaveMode = true; + info.isConnected = false; } const result = await showDialog({ @@ -171,7 +171,7 @@ const connectionlost: JupyterFrontEndPlugin = { }); if (info) { - info.bandwidthSaveMode = false; + info.isConnected = true; } showingError = false;