Skip to content

Conversation

@RRosio
Copy link
Collaborator

@RRosio RRosio commented Nov 8, 2025

Based off of #321

Uninstalled packages are now displayed after selecting an + Packages button, which opens a drawer that lists the uninstalled packages to be searched through and lists the packages selected for install in a right panel. This PR also removes the option to view uninstalled packages, from the default packages listing.

Screen.Recording.2025-11-07.at.8.22.49.PM.mov

@RRosio RRosio added this to the v6.2.0 milestone Nov 8, 2025
@RRosio RRosio added the enhancement New feature or request label Nov 8, 2025
@github-actions
Copy link

github-actions bot commented Nov 8, 2025

Binder 👈 Launch a binder notebook on the branch RRosio/gator/pkg_drawer

@RRosio RRosio linked an issue Nov 8, 2025 that may be closed by this pull request
@RRosio
Copy link
Collaborator Author

RRosio commented Nov 12, 2025

Bug with state management: When I select packages in the drawer, if I select a package with a certain version rather than just with auto, if I close the drawer with the 'x' or with the 'cancel' buttons, even after clicking the 'clear' button, the 'clear package modifications' and 'apply package modifications' buttons remain activated...

Looking into this more:
Currently, CondaPkgDrawer calls it's own version of handleVersionSelection but that also includes a call to the onPkgChange prop, which calls the parent CondaPkgPanel's own handleVersionSelection implementation... this coupled the state so that this.state.selected packages in the parent CondaPkgPanel also included those packages selected in the drawer. The Drawer has its own state property tracking selected packages selectedPackages so while those were cleared, the parent still had the modified packages in state, causing the issue above.

Before this issue was clear, I first considered clearing the packages that did not contain a truthy value for version_installed but instead I'll be updating the CondaPkgDrawer to not pull in the onPkgChange prop from the parent, as it does not need to call it, it can manage state entirely separately with selectedPackage and passing it's own existing version of handleVersionSelected to this drawer instance of CondaPkgList.

@RRosio
Copy link
Collaborator Author

RRosio commented Nov 12, 2025

Another note for improvement here: when no packages are selected, the "Install selected" packages button in the CondaPkgDrawer is disabled, but currently there is no visual indication that this button is disabled

@RRosio
Copy link
Collaborator Author

RRosio commented Nov 15, 2025

Discussed this with @ktaletsk and @yane-anaconda; the consensus was to close the package drawer once the user selects "Install selected".

@RRosio RRosio requested a review from Copilot November 15, 2025 16:37
Copilot finished reviewing on behalf of RRosio November 15, 2025 16:40
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a new "Add Packages" drawer interface that allows users to browse and install uninstalled packages through a dedicated modal interface. The key change is removing the "Not installed" filter option from the main package list and replacing it with a button that opens a drawer showing uninstalled packages with a selection panel for batch installation.

  • Added a new CondaPkgDrawer component providing a modal interface for package installation
  • Removed the "Available" (not installed) filter from the main toolbar and package filtering logic
  • Added state management for drawer visibility and handler methods for package installation workflow

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 13 comments.

File Description
packages/common/src/components/CondaPkgToolBar.tsx Added "Add Packages" button with styling and removed "Not installed" filter option
packages/common/src/components/CondaPkgPanel.tsx Integrated drawer state management, added handlers for drawer operations, and conditionally renders drawer or package list based on drawer state
packages/common/src/components/CondaPkgDrawer.tsx New component implementing the package installation drawer with search, selection panel, and installation workflow

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@RRosio RRosio marked this pull request as ready for review November 15, 2025 22:42
@RRosio
Copy link
Collaborator Author

RRosio commented Nov 15, 2025

I've addressed the comments from the copilot review as best as I could. I also addressed some issues I noticed while manually testing. I will go ahead and merge this PR!

@RRosio RRosio merged commit 0376758 into mamba-org:main Nov 15, 2025
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Include "Add Packages" view and Refactor "main" view

1 participant