Closed peytondmurray closed 2 years ago
Thank you @fcollonval for the constructive feedback. Here's my plan going forward:
I'll update this thread when I have these prepared. Thanks again!
Thanks @peytondmurray
1. I'll define a model for the React components to use to interact with conda-store
:+1:
2. I'll move away from defining separate conda-store functional components and put a greater emphasis on reusing existing class-based components
Don't hesitate to replace some existing components by your functional one if it simplifies/improves the current ones.
3. I'll modify the existing list components to allow us to detect when the user has scrolled all the way to the bottom of a list, in order to be able to use paginated API responses (which conda-store currently uses)
:+1:
Small comment, in the latest commit you removed the plugin id for conda-store instead of renaming it. You should definitely use another name otherwise JupyterLab won't see the two plugins (aka the one for conda from cli and the one for conda-store).
@fcollonval The conda-store integration is ready for a second look.
Gentle ping @fcollonval can you take another look at the this PR and see if it is ready to merge?
@fcollonval Okay, this should be ready for another look.
@fcollonval Okay, this should be ready for another look.
I'll do that tomorrow. I'm working to fix the CI.
@peytondmurray would you mind to rebase the PR on the latest master to restore the CI. Then if it passes, we are good to go.
Excellent, thanks for the help! I've rebased onto master
. There's a few commits which appear here which are in master
but not in conda-store-integration
which have been picked up here, but that's okay.
Thanks @peytondmurray merging now...
Background info: conda-store
This PR adds initial support for conda-store, an environment management system which aims to provide reproducible conda environments in as many ways as possible to users and services. From the conda-store documentation:
Summary
This PR adds the ability to list conda-store environments from a new menu option. This PR is larger because this is foundational work for adding conda-store support; subsequent PRs will be smaller. Thanks for your patience with this!
Changes
Added
react-hooks
rules to.eslintrc.js
to help with react developmentIgnore
*.ipynb
in gitAdded documentation in
README.md
on setting up a development environment which watches frontend changes. Also added ayarn watch
script which automatically triggers a rebuild when a change in the frontend is detectedFixed an issue where the
NbConda
component would not reset itsisLoading
state if an operation was cancelledAdded new react components for handling conda-store operations and user interaction:NbCondaStore
CondaStorePkgPanel
CondaStorePkgList
CondaStoreEnvList
CondaStoreEnvItem
CondaStoreEnvWidget
Added a new model which supports conda-store through the existing UI components. This new model includes implementations of several key interfaces:
IEnvironmentManager
Conda.IPackageManager
To assist in troubleshooting conda-store server issues, I added a simple notification in case the conda-store server can't be reached when the package manager is first loaded.
The basis for additional functionality has also been added, following patterns currently existing for the
Conda
UI. However, functionality such as the ability to add additional environments has not yet been added; these functions will be filled in later.Disable automatic viewing of webpack-report.html when a build is complete.
Broke the conda-store integration off into its own package as per this comment
Modified
CondaPkgList
to add a React hook which can fetch packages as a user scrolls down through the package list. This allows for lazy loading of packages, and it works well with conda-store.@fcollonval If you get a chance to review this PR, I would be grateful for any feedback you have.