Skip to content

Working set improve performance and fix selection bugs - #3039

Merged
abose merged 3 commits into
mainfrom
ai
Jul 25, 2026
Merged

Working set improve performance and fix selection bugs#3039
abose merged 3 commits into
mainfrom
ai

Conversation

@abose

@abose abose commented Jul 25, 2026

Copy link
Copy Markdown
Member

see commit descriptions

abose added 3 commits July 25, 2026 19:35
… visible

The working set selection highlight is an absolutely positioned marker div
that only moves when a selectionChanged event fires. On startup the
working set container gets the working-set-hidden class (the showWorkingSet
pref is read before it is defined), so the session-restore file open
positions the marker while the container is display:none - every offset
computes to 0 and the marker parks on the first row. The same stale marker
happens when the current file changes while the working set is hidden via
the showWorkingSet pref or while another sidebar tab (e.g. AI) is active.

Add WorkingSetView.refreshSelection() which recomputes the selection
marker and scrolls the selected item into view, and call it when the
showWorkingSet pref un-hides the container and when switching back to the
files sidebar tab. Note refresh() cannot be used for this as it restores
the pre-redraw scrollTop, which reads 0 on hidden elements and would undo
the scroll-into-view.

Adds integration tests for both paths in mainview:WorkingSetView.

Claude-Session: https://claude.ai/code/session_018BpQ3Z7w4H2U5qrPGWYRWB
…tching

The file tree and editor tab bar switch files on mouse down, but the
working set only switched on mouse up, making it feel slow. Open the file
immediately on left-button press (unless the press is on the close icon)
and skip the duplicate open in the mouse up drop handler. Right/middle
click paths already resolved at mouse down and are unchanged; close via
the close icon still happens on mouse up without selecting the file.

A drag now makes the pressed item the current file as soon as it is
pressed, consistent with dragging tabs in other editors.

Claude-Session: https://claude.ai/code/session_018BpQ3Z7w4H2U5qrPGWYRWB
…dx build

jsdoc-to-markdown copied the inline object return type
{code, stdout, stderr} verbatim into the generated heading, and
Docusaurus parses md as MDX where a bare {...} is a JSX expression -
acorn fails and the docs site build errors out. A named ExecFileResult
typedef generates a brace-free linked heading plus a property table.

Also picks up the previously uncommitted regenerated docs for
WorkingSetView.refreshSelection.
@sonarqubecloud

Copy link
Copy Markdown

@abose
abose merged commit a01d549 into main Jul 25, 2026
11 of 21 checks passed
@abose
abose deleted the ai branch July 25, 2026 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant