Repository navigation
🤖 fix: Workspace actions leftovers: menu keys from the whole menu popover, no keys behind the palette, header title edit on switch - #6461
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Perf gate: CLEARED at I checked these facts myself:
I did not run the React Compiler audit on this head. None of these components are on the hot list, and they render only while a menu is open or an edit is active. This clearance covers only this head. A new head needs a new clearance. Generated with |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5a98e74fe9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
5a98e74 to
6853722
Compare
… switch Codex on #6461: the empty-title check still used the field's popover, which is gone after the switch.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6853722e4c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Perf gate (perf owner, workspace 8e18f4aada):
If the lane pushes the change described in that message, it needs a new clearance at that head. I will re-measure first-load JS for a change on the eager path. Generated with |
…and never behind the palette #6434 items 2 and 3. A click on a menu's padding or a separator focused the popover outside the rows, so the row keys skipped the menu and acted on the selected workspace. The menu now takes its row keys at the window's capture phase while it is open. The global Fork and Stop container keys also skip focus inside the command palette.
…t, and reports a late failure #6434 items 5 and 6. The header is reused across workspaces, so a switch unmounts the open field. Its typed text is now saved then, as leaving the field does. A save that fails after its field is gone shows the shared error toast, since its popover unmounted with the field.
… switch Codex on #6461: the empty-title check still used the field's popover, which is gone after the switch.
6853722 to
aecc01b
Compare
|
Codex Review: Didn't find any major issues. Hooray! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
Perf gate: re-CLEARED at I checked these facts myself:
A new head needs a new clearance. Generated with |
Summary
This PR fixes the four real items from #6434 (leftovers from #6398 and #6431). It closes the other two as by design.
Fixes #6434
Decisions
From the coordinator (F29):
Implementation
onKeyDown. A click on the padding or a separator focuses the Radix popover, which is outside that element.role=dialogaround the menu). At most one listener exists, only while a menu is open.isDialogOpen()does not see the cmdk palette, and cmdk's root hastabIndex=-1. A click on the palette outside its input focuses a non-editable element there.keysMayActskips targets inside the palette (isCommandPaletteTarget).showFeedbackToast.onBlurfor a node that is unmounting is not something to rely on.Validation
These tests fail with main's production code:
I also checked each guard by reverting it alone. The field-keeps-its-keys guard and the StrictMode unchanged-draft guard each fail their own test.
Dogfood in the built Storybook (AgentListItem
ClickKebabButton, real Radix popover, agent-browser):DIV role=dialog, and F2 left the menu open.No UI was added, so the 390 px view is unchanged.
Review record
Risks
Low. Item 2 changes only where an open menu hears its row keys. With the menu closed, nothing changes. Items 5 and 6 change only the header title edit's unmount path.
Generated with
xum• Model:anthropic:claude-opus-5-5• Thinking:high• Cost:$99.39