Skip to content

Refactor Packages Pane to use PositronList component#13556

Merged
bricestacey merged 7 commits into
mainfrom
packages-pane/positron-list
May 21, 2026
Merged

Refactor Packages Pane to use PositronList component#13556
bricestacey merged 7 commits into
mainfrom
packages-pane/positron-list

Conversation

@bricestacey
Copy link
Copy Markdown
Contributor

This PR refactors the packages pane to use the new PositronList.

We want to do this for a variety of reasons, but it also fixes known scroll issues on web.

See: #12964

This PR is mostly ready, but there are known issues with PositronList that are blocking merge. Specifically:

  • When you select an item, focus should follow (high priority)
  • When the PositronList loses focus (e.g. you click into an entirely different view such as the editor window), the PositronList should clear its focus.

Release Notes

New Features

  • N/A

Bug Fixes

  • Fix scrolling issues in the Packages pane on web

Validation Steps

The behavior of the pane should be pretty consistent with its previous behavior. A couple of areas to note:

  • Selection
  • Focus
  • Right Click
  • Scrolling behavior
  • Keyboard support

@:packages-pane

Replaces react-window's FixedSizeList in the packages pane with the
shared PositronListInstance / PositronList component. Selection,
keyboard navigation, scroll persistence, and empty-state are now
delegated to the list framework instead of hand-rolled React state.
@bricestacey bricestacey requested a review from softwarenerd May 13, 2026 21:07
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 13, 2026

E2E Tests 🚀
This PR will run tests tagged with: @:critical @:packages-pane

readme  valid tags

softwarenerd
softwarenerd previously approved these changes May 20, 2026
Copy link
Copy Markdown
Contributor

@softwarenerd softwarenerd left a comment

Choose a reason for hiding this comment

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

Approved. I've pushed a flex layout improvement.

Override selectRow so the focus outline tracks the selected row. The
base DataGridInstance.selectRow only sets _rowSelectionIndexes, which
is right for a grid where cursor and selection are independent but
wrong for a list where the focused row should be the selected row.

Section rows are no-ops since they aren't selectable.
This was left behind after the mouseSelectCell override was removed
in favor of the selectRow override. CI's TS6133 lint blocked compile.
@bricestacey bricestacey merged commit aba28d9 into main May 21, 2026
24 checks passed
@bricestacey bricestacey deleted the packages-pane/positron-list branch May 21, 2026 18:21
@github-actions github-actions Bot locked and limited conversation to collaborators May 21, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants