diff --git a/packages/application/package.json b/packages/application/package.json index e0a462bdd92f..30e5cba5e7ff 100644 --- a/packages/application/package.json +++ b/packages/application/package.json @@ -50,7 +50,7 @@ "@lumino/coreutils": "^1.4.2", "@lumino/disposable": "^1.3.5", "@lumino/messaging": "^1.3.3", - "@lumino/polling": "^1.1.1", + "@lumino/polling": "^1.0.4", "@lumino/properties": "^1.1.6", "@lumino/signaling": "^1.3.5", "@lumino/widgets": "^1.11.1" diff --git a/packages/apputils-extension/package.json b/packages/apputils-extension/package.json index 2a9cb012fa22..3e5aa164a538 100644 --- a/packages/apputils-extension/package.json +++ b/packages/apputils-extension/package.json @@ -48,7 +48,7 @@ "@lumino/commands": "^1.10.1", "@lumino/coreutils": "^1.4.2", "@lumino/disposable": "^1.3.5", - "@lumino/polling": "^1.1.1", + "@lumino/polling": "^1.0.4", "@lumino/widgets": "^1.11.1", "es6-promise": "~4.2.8" }, diff --git a/packages/apputils-extension/src/settingconnector.ts b/packages/apputils-extension/src/settingconnector.ts index b34738a2a7e2..d64cf1ee8a0d 100644 --- a/packages/apputils-extension/src/settingconnector.ts +++ b/packages/apputils-extension/src/settingconnector.ts @@ -1,10 +1,8 @@ import { PageConfig } from '@jupyterlab/coreutils'; -import { ISettingRegistry } from '@jupyterlab/settingregistry'; - import { DataConnector, IDataConnector } from '@jupyterlab/statedb'; -import { Throttler } from '@lumino/polling'; +import { ISettingRegistry } from '@jupyterlab/settingregistry'; /** * A data connector for fetching settings. @@ -21,19 +19,8 @@ export class SettingConnector extends DataConnector< this._connector = connector; } - /** - * Fetch settings for a plugin. - * @param id - The plugin ID - * - * #### Notes - * The REST API requests are throttled at one request per plugin per 100ms. - */ fetch(id: string): Promise { - const throttlers = this._throttlers; - if (!(id in throttlers)) { - throttlers[id] = new Throttler(() => this._connector.fetch(id), 100); - } - return throttlers[id].invoke(); + return this._connector.fetch(id); } async list( @@ -57,5 +44,4 @@ export class SettingConnector extends DataConnector< } private _connector: IDataConnector; - private _throttlers: { [key: string]: Throttler } = Object.create(null); } diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 9bc54607a13b..90baf8148d07 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -43,7 +43,7 @@ "@lumino/commands": "^1.10.1", "@lumino/coreutils": "^1.4.2", "@lumino/disposable": "^1.3.5", - "@lumino/polling": "^1.1.1", + "@lumino/polling": "^1.0.4", "@lumino/signaling": "^1.3.5", "@lumino/widgets": "^1.11.1", "codemirror": "~5.49.2", diff --git a/packages/csvviewer-extension/package.json b/packages/csvviewer-extension/package.json index 822f8002bb28..95fc35542fd2 100644 --- a/packages/csvviewer-extension/package.json +++ b/packages/csvviewer-extension/package.json @@ -41,7 +41,7 @@ "@jupyterlab/docregistry": "^2.0.2", "@jupyterlab/documentsearch": "^2.0.2", "@jupyterlab/mainmenu": "^2.0.2", - "@lumino/datagrid": "^0.6.0", + "@lumino/datagrid": "^0.5.3", "@lumino/signaling": "^1.3.5", "@lumino/widgets": "^1.11.1" }, diff --git a/packages/csvviewer/package.json b/packages/csvviewer/package.json index b16559c0a4ba..20b3e1412560 100644 --- a/packages/csvviewer/package.json +++ b/packages/csvviewer/package.json @@ -40,7 +40,7 @@ "@jupyterlab/docregistry": "^2.0.2", "@lumino/algorithm": "^1.2.3", "@lumino/coreutils": "^1.4.2", - "@lumino/datagrid": "^0.6.0", + "@lumino/datagrid": "^0.5.3", "@lumino/disposable": "^1.3.5", "@lumino/messaging": "^1.3.3", "@lumino/signaling": "^1.3.5", diff --git a/packages/docmanager-extension/src/index.ts b/packages/docmanager-extension/src/index.ts index cfa34c99a1d2..a73280981442 100644 --- a/packages/docmanager-extension/src/index.ts +++ b/packages/docmanager-extension/src/index.ts @@ -242,9 +242,22 @@ ${fileTypes}`; } }); + // callback to registry change that ensures not to invoke reload method when there is already a promise that is pending + let reloadSettingsRegistry = () => { + let promisePending = false; + + return async () => { + if (!promisePending) { + promisePending = true; + await settingRegistry.reload(pluginId); + promisePending = false; + } + }; + }; + // If the document registry gains or loses a factory or file type, // regenerate the settings description with the available options. - registry.changed.connect(() => settingRegistry.reload(pluginId)); + registry.changed.connect(reloadSettingsRegistry()); return docManager; } diff --git a/packages/documentsearch/package.json b/packages/documentsearch/package.json index e101cca339fc..58a4ef8ec599 100644 --- a/packages/documentsearch/package.json +++ b/packages/documentsearch/package.json @@ -42,7 +42,7 @@ "@lumino/algorithm": "^1.2.3", "@lumino/coreutils": "^1.4.2", "@lumino/disposable": "^1.3.5", - "@lumino/polling": "^1.1.1", + "@lumino/polling": "^1.0.4", "@lumino/signaling": "^1.3.5", "@lumino/widgets": "^1.11.1", "codemirror": "~5.49.2", diff --git a/packages/extensionmanager/package.json b/packages/extensionmanager/package.json index 661aa2f16a05..41691913c306 100644 --- a/packages/extensionmanager/package.json +++ b/packages/extensionmanager/package.json @@ -39,7 +39,7 @@ "@jupyterlab/services": "^5.0.2", "@jupyterlab/ui-components": "^2.0.2", "@lumino/messaging": "^1.3.3", - "@lumino/polling": "^1.1.1", + "@lumino/polling": "^1.0.4", "react": "~16.9.0", "react-paginate": "^6.3.2", "semver": "^6.3.0" diff --git a/packages/filebrowser/package.json b/packages/filebrowser/package.json index 6ab7a58727d1..0fad2554f87d 100644 --- a/packages/filebrowser/package.json +++ b/packages/filebrowser/package.json @@ -49,7 +49,7 @@ "@lumino/domutils": "^1.1.7", "@lumino/dragdrop": "^1.5.1", "@lumino/messaging": "^1.3.3", - "@lumino/polling": "^1.1.1", + "@lumino/polling": "^1.0.4", "@lumino/signaling": "^1.3.5", "@lumino/widgets": "^1.11.1", "react": "~16.9.0" diff --git a/packages/inspector/package.json b/packages/inspector/package.json index 42f76bcc5c0d..fc42ee06d8b5 100644 --- a/packages/inspector/package.json +++ b/packages/inspector/package.json @@ -43,7 +43,7 @@ "@jupyterlab/statedb": "^2.0.1", "@lumino/coreutils": "^1.4.2", "@lumino/disposable": "^1.3.5", - "@lumino/polling": "^1.1.1", + "@lumino/polling": "^1.0.4", "@lumino/signaling": "^1.3.5", "@lumino/widgets": "^1.11.1" }, diff --git a/packages/services/package.json b/packages/services/package.json index 90358801818b..59aa1f0a9b51 100644 --- a/packages/services/package.json +++ b/packages/services/package.json @@ -49,7 +49,7 @@ "@lumino/algorithm": "^1.2.3", "@lumino/coreutils": "^1.4.2", "@lumino/disposable": "^1.3.5", - "@lumino/polling": "^1.1.1", + "@lumino/polling": "^1.0.4", "@lumino/signaling": "^1.3.5", "node-fetch": "^2.6.0", "ws": "^7.2.0" diff --git a/packages/statusbar/package.json b/packages/statusbar/package.json index ba1ab59c0654..24e829586e55 100644 --- a/packages/statusbar/package.json +++ b/packages/statusbar/package.json @@ -40,7 +40,7 @@ "@lumino/coreutils": "^1.4.2", "@lumino/disposable": "^1.3.5", "@lumino/messaging": "^1.3.3", - "@lumino/polling": "^1.1.1", + "@lumino/polling": "^1.0.4", "@lumino/signaling": "^1.3.5", "@lumino/widgets": "^1.11.1", "csstype": "~2.6.9", diff --git a/tests/test-csvviewer/package.json b/tests/test-csvviewer/package.json index 6712947ae1ed..a57f90fc405e 100644 --- a/tests/test-csvviewer/package.json +++ b/tests/test-csvviewer/package.json @@ -21,7 +21,7 @@ "@jupyterlab/services": "^5.0.2", "@jupyterlab/testutils": "^2.0.2", "@lumino/coreutils": "^1.4.2", - "@lumino/datagrid": "^0.6.0", + "@lumino/datagrid": "^0.5.3", "@lumino/widgets": "^1.11.1", "chai": "^4.2.0", "csv-spectrum": "~1.0.0", diff --git a/yarn.lock b/yarn.lock index 452b74400ddc..21826b4c6d2d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2000,10 +2000,10 @@ resolved "https://registry.yarnpkg.com/@lumino/coreutils/-/coreutils-1.4.2.tgz#44cd3d55bb692e876c792f1ecc0df3daa1de63e9" integrity sha512-SmQ4YDANe25rZd0bLoW7LVAHmgySjkrJmyNPnPW0GrpBt2u4/6D+EQJ8PCCMNWuJvrljBCdlmgOFsT38qYhfcw== -"@lumino/datagrid@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@lumino/datagrid/-/datagrid-0.6.0.tgz#8272fe4cf8bb27f3ec9cc8fee279329c35695d19" - integrity sha512-TkpCm4AbCAVwGg3pC5618YnjfHSyzhWxRaM1FQ7RKWS+mZoKhMWVbN0I2o2OLpdaBjvf7sV9JUp08rsouHRqOQ== +"@lumino/datagrid@^0.5.3": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@lumino/datagrid/-/datagrid-0.5.3.tgz#62ac692a199e033d811cc2229fa979b01c058889" + integrity sha512-5W86WnbZKrX/P+WkXMPRkToM0yISjmKu2ewJ2CtyKw+OsGsBcgshM147k4wxDskAtIv/+wsgdth7sIdzx6OW+A== dependencies: "@lumino/algorithm" "^1.2.3" "@lumino/coreutils" "^1.4.2" @@ -2049,10 +2049,10 @@ "@lumino/algorithm" "^1.2.3" "@lumino/collections" "^1.2.3" -"@lumino/polling@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@lumino/polling/-/polling-1.1.1.tgz#15dcb848dca26573d416f00493e343bc43d79d01" - integrity sha512-4ofwz9zOkh3GtTTPKfX9KmsZD66g8M0BG/lLji86GRCQvQDGJaI35c0qD62jMzacfsVxbCBfp89/sbXGDoRIZA== +"@lumino/polling@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@lumino/polling/-/polling-1.0.4.tgz#85f956933fa63c47edf808c141cdb9a7a1a49f4c" + integrity sha512-9OYIDTohToj6SLrxOr+FbeyPvirBU/r53FgmPxulcDgUVnVk4tqTSLIJAUu3mjJd9hnmZZqpSn9ppyjQAo3qSg== dependencies: "@lumino/coreutils" "^1.4.2" "@lumino/disposable" "^1.3.5"