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
One of the larger breaking changes from JupyterLab 4.x will apparently be landing on the 3.6 line, namely the frontend expecting a jupyter_server_ydoc-compatible WebSocket server.
This should provide missing identity features, and fixes for total-data-loss bugs when working with many users in RTC.
Proposed Solution
NB: I really don't know what I don't know about everything happening here, and would greatly appreciate any help from others more knowledgable 😍.
Ideally, implementing this change should still result in a lightweight, low-config labextension (and likely liteserverextension) that only requires a public or self-hostable (#4), signaling-only server process.
Ultimately, it may still require a source of truth, a leader election process, or something, which may not be provided by a "naive" public yjs signaling server. Keeping this property may require an even more exotic implementation when it's all clients.
JupyterFrontEndPlugin
Update the provider (and related features) to match jupyterlab/jupyterlab#13222 (or whatever ends up being the final state).
Alternatives
LiteServerExtension
use the absolute lightest-weight python jupyter_server_ydoc-compatible implementation
Problem
One of the larger breaking changes from JupyterLab 4.x will apparently be landing on the 3.6 line, namely the frontend expecting a
jupyter_server_ydoc-compatible WebSocket server.This should provide missing identity features, and fixes for total-data-loss bugs when working with many users in RTC.
Proposed Solution
Ideally, implementing this change should still result in a lightweight, low-config labextension (and likely liteserverextension) that only requires a public or self-hostable (#4), signaling-only server process.
LiteServerExtension
Provide the same features as the https://github.com/jupyter-server/jupyter_server_ydoc/blob/v0.1.12/jupyter_server_ydoc/ydoc.py#L86.
For a full JS solution, it would be a relatively deep stack including
Ultimately, it may still require a source of truth, a leader election process, or something, which may not be provided by a "naive" public yjs signaling server. Keeping this property may require an even more exotic implementation when it's all clients.
JupyterFrontEndPlugin
Update the provider (and related features) to match jupyterlab/jupyterlab#13222 (or whatever ends up being the final state).
Alternatives
LiteServerExtension
jupyter_server_ydoc-compatible implementationywasm) emscripten machine starting upAdditional context