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

Migrate to JupyterLab 2.0 #186

Closed
krassowski opened this issue Jan 29, 2020 · 8 comments · Fixed by #204
Closed

Migrate to JupyterLab 2.0 #186

krassowski opened this issue Jan 29, 2020 · 8 comments · Fixed by #204
Labels
dependencies Pull requests that update a dependency file package:jupyterlab-lsp

Comments

@krassowski
Copy link
Member

We will need to branch off at some time in order to migrate to JupyterLab 2.0 (which will be released soon). It would be good to merge any existing PRs (other than my stale ones) and avoid starting any new substantial work (other than bugfixes), particularly anything touching the JupyterLab internals. Also, the icons system is updated in 2.0 - that's why I did not add a nicer icon so far.

There is a draft migration guide here: https://jupyterlab.readthedocs.io/en/latest/developer/extension_migration.html. If we have time to do this early, we can contribute to making it more complete.

I might have some time this weekend but will rather spend it writing more browser tests so we can have a well-tested transition. @bollwyvl please let me know if you have any other local work related to browser tests that I should wait for.

@bollwyvl
Copy link
Collaborator

bollwyvl commented Jan 29, 2020 via email

@bollwyvl
Copy link
Collaborator

The day has come 🎉 !

https://pypi.org/project/jupyterlab/2.0.0/

How do you see this playing out? It might be nice to get #202 in and cut 0.8.0 releases as the final thing for the 1.2.x line, and then concentrate on getting going here. Seems likely the jumper extension will need upgrading: time to move that into this repo?

@krassowski
Copy link
Member Author

We could move it here, but aiming to split it into "jumper-core" and language-specific implementations (don't have to be now, I can do it later!)... just to say it out loud, the UX will might suffer with this move if it would mean that the jumper is no longer installable separately, without lsp - if someone is used to having the jumper without installation of the server extension and a language server, this may be a step back for them. So it would be ideal if it was still possible to install it separately, but even if it is not possible, we may want to roll with the 2.0 being a big breaking release.

@krassowski
Copy link
Member Author

I have small uncommitted (and unfinished) work on foreign extractors that I want to merge into 0.8, but if you have time to work on 2.0 port, I could backport it later as well. After 0.8 release I will create a 0.8.x branch and let's carry on on master. Just one litter comment on #202 (sorry for the delay here) something with a docstring seems odd.

@bollwyvl
Copy link
Collaborator

jumper without installation of the server extension and a language server

I'm all for having it remain standalone, separately installable: I'm just suggesting that having its development in this repo (especially if you're thinking about splitting features) would help during the 2.0 transition (otherwise we're blocked here entirely), and future features, a la multiple possible targets, might be easier to co-develop.

I'll have a look at #202: and never worry about keeping me hanging! as long as we're moving forward, whatever the pace, I'm happy.

@bollwyvl
Copy link
Collaborator

Made those fixes in #202: i'll watch CI, and if everything seems on the up-and-up, i'll start wading into lab 2.0 as a fork off of that.

in the meantime, some field notes from migrating another extension: aside from the painless phosphor -> lumino, I hit:

  • icons: it has lots of dynamic icons, this was a pain
    • it's possible to do the react-snowstorm-of-death really hard if your svg is malformed in any way
      • that's probably a good thing... unless you're letting users dynamically make icons
  • the signature changed on VDomRenderer (it always needs a model, now)
    • but that's a good thing
  • dom changes: a few things lost selectors for testability, like command toolbar buttons :P

some things i want to do over there, that we'll probably want over here:

  • it's possible to disable the node build check now
    • this will help during robot tests, and we should land it ASAP
    • but it does increase the chances that you test against a dirty build
  • running: would love to get some things into the running sidebar and stoppable there
    • this will help us, but doesn't have to be on the first PR

@bollwyvl
Copy link
Collaborator

CI good over on #202!

@bollwyvl
Copy link
Collaborator

bollwyvl commented Mar 1, 2020

disable the node build check now

this looks great on test logs: far less noise

get some things into the running sidebar and stoppable there

this worked pretty well, but I have far little observability about the incidental background task i'm starting, and have to press the refresh button. however, i think for language servers, it will be great. clicking on a language server can pop open whatever we want: it will feel good to have per-server config show up there, and be great to be able to stop servers without reloading the browser/notebook server or mucking about with kill.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file package:jupyterlab-lsp
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants