Skip to content

fix(ui): keep the project picker's Remove × hidden and unclickable until the row is hovered - #669

Merged
iamnbutler merged 2 commits into
mainfrom
fix-picker-remove
Oct 22, 2026
Merged

iamnbutler merged 2 commits into
mainfrom
fix-picker-remove

Conversation

@iamnbutler

Copy link
Copy Markdown
Contributor

The project picker revealed each row's × whenever the row had focus, so opening the menu by keyboard (or an accessibility press) showed a live × on the first row, and the invisible × still took clicks. Now the × takes no pointer events and stays hidden until the pointer is over its row; a click that never hovered selects the project. Keyboard users still remove with Delete/Backspace on the row.

Fixes #616 (the confirmation wording landed in #647; this is the rest).

Map: ^348 (https://ace-map.iamnbutler.pages.nexthub.sh/projects.html#348)

Smoke: own ace serve --loopback (isolated ACE_HOME, port 4166) with two projects. Opening the picker by keyboard: both × buttons at opacity 0, pointer-events none, and the point under each × hit the row. After hovering the first row: its × at opacity 1 and hit; clicking it opened the Remove flow ("proj still has a channel…").

Built in Ace

No. Made from Claude Code (fix-train worker), with a headless browser for the smoke, because the fix train runs outside Ace. Gap tracked in the dogfooding meta issue #5.

…til the row is hovered

Why: packages/ui/src/components/session-sidebar/session-sidebar.tsx#function RepoRow | the × takes no pointer events until its row is hovered, so a click that never hovered (opened-by-keyboard first row, synthetic clicks) selects the project instead of opening Remove; Delete/Backspace stays the keyboard path
@iamnbutler
iamnbutler merged commit caac037 into main Oct 22, 2026
1 check passed
@iamnbutler
iamnbutler deleted the fix-picker-remove branch October 22, 2026 22:10
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.

Remove project confirms, then refuses when the project still has channels

1 participant