Migrate from PhosphorJS to Lumino #14320
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What it does
Migrate from PhosphorJS to Lumino
PhosphorJS is no longer actively maintained for a few years now. Lumino is an active fork, maintained by the JupyterLab community.
While PhosphorJS proved reliable for a long time, the cracks are starting to show. For example we need to patch PhosphorJS to support secondary windows.
The JupyterLab community is welcoming and is open to accept contributions.
Contributed on behalf of STMicroelectronics
Current state
The PR is split into separate logical commits to make the reviewing and maintenance work easier in case the PR takes longer to complete.
This PR is a draft PR as not all known issues are yet fixed.
Open issues are:
If anyone is interested in solving one or more of these issues, contact me or open a PR against the
lumino-migration
branch in the EclipseSource fork.Note that Lumino introduced a code change in which empty menus can't be opened. However Theia uses an approach in which menus are filled only shortly before they are shown. Therefore this new behavior is for now patched in this draft PR. However this means the patching is now ALWAYS required and not only when wanting to support secondary windows.
We might want to think about contributing a change to Lumino first before requiring this for all downstream projects.
In any case this is of course a huge breaking change.
How to test
Build and test the application
Review checklist
Reminder for reviewers