Skip to content

Enable real-time collaboration for JupyterLab - #242

Open
MUFFANUJ wants to merge 2 commits into
nebari-dev:mainfrom
MUFFANUJ:jupyterCollab
Open

Enable real-time collaboration for JupyterLab#242
MUFFANUJ wants to merge 2 commits into
nebari-dev:mainfrom
MUFFANUJ:jupyterCollab

Conversation

@MUFFANUJ

Copy link
Copy Markdown
Member

Reference Issues or PRs

Closes #200

What does this implement/fix?

Put a x in the boxes that apply

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds a feature)
  • Breaking change (fix or feature that would cause existing features not to work as expected)
  • Documentation Update
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no API changes)
  • Build related changes
  • Other (please describe):

Testing

  • Did you test the pull request locally?
  • Did you add new tests?

Documentation

Added a new Real-time Collaboration docs page covering how the bundled jupyter-collaboration extension works, how JupyterHub server sharing enables cross-user collaboration, the security boundary of shared server access, runtime storage files, how to disable user-managed sharing, and links to the upstream JupyterLab collaboration docs. Also updated the docs sidebar, configuration guide, landing page, and values reference

Access-centered content checklist

Text styling

  • The content is written with plain language (where relevant).
  • If there are headers, they use the proper header tags (with only one level-one header: H1 or # in markdown).
  • All links describe where they link to (for example, check the Nebari website).
  • This content adheres to the Nebari style guides.

Non-text content

  • All content is represented as text (for example, images need alt text, and videos need captions or descriptive transcripts).
  • If there are emojis, there are not more than three in a row.
  • Don't use flashing GIFs or videos.
  • If the content were to be read as plain text, it still makes sense, and no information is missing.

Any other comments?

This PR adds the official jupyter-collaboration extension to the JupyterLab image so users can collaboratively edit notebooks and files in real time. It also updates JupyterHub sharing/OAuth scope wiring so users can share their running server with other Hub users or groups without exposing those scopes through the server token, and adds the required Hub pod label so the managed japps service can call the Hub API under the existing NetworkPolicy. Documentation now explains RTC behavior, storage files, sharing boundaries, and links to the upstream Jupyter collaboration docs. Unit tests cover the RTC dependency, sharing scope wiring, traitlets config compatibility, the disable switch, and the rendered Hub network label.

Locally testing with two users:

Screen.Recording.2026-08-31.at.11.20.36.AM.mp4

@MUFFANUJ MUFFANUJ self-assigned this Aug 31, 2026
@MUFFANUJ
MUFFANUJ requested review from aktech and pmeier as code owners August 31, 2026 06:55
@MUFFANUJ MUFFANUJ added the type: enhancement 💅🏼 New feature or request label Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: enhancement 💅🏼 New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ENH] - Include real time collaboration feature

1 participant