Skip to content

fix: keep composer tray menus above the input card - #2288

Merged
pancacake merged 2 commits into
HKUDS:devfrom
remote-controlled-man:codex/prflow-d435665598c8
Nov 5, 2026
Merged

pancacake merged 2 commits into
HKUDS:devfrom
remote-controlled-man:codex/prflow-d435665598c8

Conversation

@remote-controlled-man

Copy link
Copy Markdown
Contributor

Fixes #2263.

Render the shared composer tray menus in a viewport portal so the input card cannot cover their options when container queries create a stacking context. Keep menus anchored as the tray moves, with viewport bounds, keyboard focus, inside/outside presses and tray dragging preserved.

Validation on macOS with Node 22.23.4:

  • npm run check: 1,334 Node tests and 1,168 rendered tests passed, plus contracts, architecture, typecheck, lint, i18n, production build and route budgets.
  • pre-commit run --all-files: passed.
  • npm run audit -- --workers=2: all 73 production browser audits passed, including the menu hit-testing regression.
  • Native Firefox 128 component differential with the actual ComposerTray and modern stylesheet: the original last option is blocked by the input card; the fixed component passes. The CI regression recreates that legacy containment condition on Chromium.

Copilot AI balanced review requested due to automatic review settings November 1, 2026 05:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@Antonio-Faure

Copy link
Copy Markdown
Contributor

Independently ran the new suite locally: tests/composer-tray-menu.spec.tsx — 3 passed, and npm run typecheck is clean. The focus-return, inside-press, outside-dismiss and dragged-inside cases all behave as described. No objection from me.

@pancacake
pancacake merged commit d362ece into HKUDS:dev Nov 5, 2026
21 checks passed
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.

4 participants