You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary: ServiceManager requires all Jupyter Server endpoints to be authorized on instantiation.
I've been exploring having a new basic "Notebook application" that only allows real-time collaboration to edit the document (not run cells. etc). In other words, it doesn't have access to the kernel, session, or contents APIs (except the single endpoint that returns the one notebook they are viewing).
This is problematic for my simple Notebook application, whose access is blocked to most of these endpoints.
Proposed Solution
Offer a ServiceManager that can be configured to not poll all of these endpoints. Because this happens in the constructor, it's difficult to remove this polling without overloading every part of the ServiceManager.
Additional context
I discussed this with @bollwyvl on the Jupyter Server call this morning. He pointed me to JupyterLite—since it suffers from the same issue. Cleverly, JupyterLite stubs out the fetch method to intercept outgoing requests.
The text was updated successfully, but these errors were encountered:
For reference, a need for a more modular / configurable was also expressed in #15329. So that each service of the service manager could be replaced by another plugin (or disabled), via regular extensions (or something similar).
Not sure if we should keep the conversation in one issue only? Unless the request in this issue is more about providing a way to disable the default polling.
I discussed this with @bollwyvl on the Jupyter Server call this morning. He pointed me to JupyterLite—since it suffers from the same issue. Cleverly, JupyterLite stubs out the fetch method to intercept outgoing requests.
Problem
Summary:
ServiceManager
requires all Jupyter Server endpoints to be authorized on instantiation.I've been exploring having a new basic "Notebook application" that only allows real-time collaboration to edit the document (not run cells. etc). In other words, it doesn't have access to the kernel, session, or contents APIs (except the single endpoint that returns the one notebook they are viewing).
Naturally, I started from
JupyterFrontend
. The issue isJupyterFrontend
requires aServiceManager
. The default (and only) implementation of theServiceManager
includes multiple subclassesIManagers
for each service. The constructors of many of these managers starts polling (e.g. see sessions manager) their endpoints immediately.This is problematic for my simple Notebook application, whose access is blocked to most of these endpoints.
Proposed Solution
Offer a
ServiceManager
that can be configured to not poll all of these endpoints. Because this happens in the constructor, it's difficult to remove this polling without overloading every part of theServiceManager
.Additional context
I discussed this with @bollwyvl on the Jupyter Server call this morning. He pointed me to JupyterLite—since it suffers from the same issue. Cleverly, JupyterLite stubs out the
fetch
method to intercept outgoing requests.The text was updated successfully, but these errors were encountered: