Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support multiple open JupyterLab windows: multiple state databases. #4041

Merged
merged 47 commits into from Jun 7, 2018

Conversation

@afshin
Copy link
Member

@afshin afshin commented Feb 27, 2018

Fixes #4088.

  • Refactored ThemeManager now supports loading themes as soon as possible so that pre-startup dialogs are styled properly.
  • Opening a second JupyterLab instance in the same browser with the same URL (/lab or /lab/workspaces/foo) will now fail to load and will prompt the user for a new workspace name to navigate to: dialog
  • The IRouter interface now supports reload() and a hard URL change navigation, extensions should not need to directly modify the window/document location.
  • The StateDB now accepts a windowName instantiation argument that allows multiple state databases to exist without name collisions.
  • Adds an IWindowResolver extension to resolve a window name to provide to the state database or to fail if there is a window name collision.
  • Adds the clone URL query string parameter to indicate which workspace to copy into the current one. So for example, if the workspace foo is currently loaded and a user wishes to clone the contents of bar into it, they would go to the URL: /lab/workspaces/foo?clone=bar. If the user wishes to clone the default /lab workspace, the URL is /lab/workspaces/foo?clone

Here is most of the functionality of this PR:

multiple-windows

@afshin afshin added this to the 1.0 milestone Feb 27, 2018
@afshin afshin self-assigned this Feb 27, 2018
@afshin afshin force-pushed the multiple-windows branch from f508b7f to 9eca655 Mar 2, 2018
@afshin afshin force-pushed the multiple-windows branch from f58de35 to 3fb0d6d Mar 7, 2018
@afshin afshin force-pushed the multiple-windows branch 2 times, most recently from a59da9d to c4d7cb3 Mar 26, 2018
@afshin afshin force-pushed the multiple-windows branch from 578bd47 to 70b97ef Apr 25, 2018
@afshin afshin force-pushed the multiple-windows branch 2 times, most recently from df77d6e to 4fcfb00 Apr 27, 2018
@afshin afshin force-pushed the multiple-windows branch 2 times, most recently from 36d3125 to 2b02e2d May 11, 2018
@afshin afshin force-pushed the multiple-windows branch 5 times, most recently from 42f158e to 21169bf May 23, 2018
@afshin afshin force-pushed the multiple-windows branch 5 times, most recently from 61497f9 to 8103082 May 25, 2018
@afshin afshin force-pushed the multiple-windows branch from 2d970a9 to 8949f66 May 25, 2018
afshin added 19 commits Jun 7, 2018
@afshin afshin force-pushed the multiple-windows branch from 1bb4f76 to 8651c4e Jun 7, 2018
Copy link
Member

@ian-r-rose ian-r-rose left a comment

This looks great, thanks @afshin. The one issue I ran into when testing this is that I was unable to navigate to the bare lab/ workspace from the "Choose a workspace" dialog, even when it was available. I don't view that as a big problem, though, since it's easy enough to do that manually.

@ian-r-rose
Copy link
Member

@ian-r-rose ian-r-rose commented Jun 7, 2018

If you have anything else for this PR, let me know, otherwise I will hit the green button.

@afshin
Copy link
Member Author

@afshin afshin commented Jun 7, 2018

I don't want to add anything else to it. But I do think that the fact that tree is apparently not working correctly #4502 along with the fact that this PR doesn't make the situation better means that before the next release, I should look at how to reconcile tree with clone, etc.

But yes, this is good to go. Thanks!

@ian-r-rose ian-r-rose merged commit 02bd226 into jupyterlab:master Jun 7, 2018
2 checks passed
@afshin afshin deleted the multiple-windows branch Jul 5, 2018
@afshin afshin mentioned this pull request Jul 5, 2018
@jasongrout jasongrout removed this from the 1.0 milestone Feb 1, 2019
@jasongrout jasongrout added this to the 0.33 milestone Feb 1, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Aug 8, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

3 participants