Skip to content

fix(modal): restore floating control dismissal - #7467

Merged
waleedlatif1 merged 1 commit into
stagingfrom
codex/fix-modal-dropdown-dismissal
Sep 4, 2026
Merged

fix(modal): restore floating control dismissal#7467
waleedlatif1 merged 1 commit into
stagingfrom
codex/fix-modal-dropdown-dismissal

Conversation

@waleedlatif1

@waleedlatif1 waleedlatif1 commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Restore modal dropdown dismissal by letting pointer events reach Radix's outside-interaction handlers.
  • Align the shared dismissable-layer dependency with the installed dialog, popover, and menu primitives so Escape, pointer locks, and portaled submenu branches use one stack.
  • Keep existing modal dropdown semantics: an outside click dismisses the open dropdown before another control can open. No styling, portal placement, or connector-specific state changes.

Type of Change

  • Bug fix

Testing

  • 197 EMCN tests passed, including 12 new interaction regressions. Restoring the old pointer handlers fails five of the new cases.
  • Full repository test rerun passed, including 40,917 app tests and 1,471 desktop tests. An unchanged asynchronous desktop-download test failed on the initial run, then passed both isolated and in the full rerun; no unrelated code was changed.
  • Browser-tested real EMCN components in an isolated harness: sibling dismissal, search, pointer and keyboard selection, wheel/scrollbar interaction, and layered Escape dismissal. Modal dropdowns consume the first outside click; this does not restore the historical non-modal one-click switching behavior.
  • Cleanup, changed-file React Doctor, lint, repository type checks, all CI audits (including API validation), block-registry validation, and docs-manifest verification passed.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@waleedlatif1
waleedlatif1 requested a review from a team as a code owner September 4, 2026 00:52
@vercel

vercel Bot commented Sep 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
docs Ready Ready Preview Sep 4, 2026 12:54am UTC

Request Review

@greptile-apps

greptile-apps Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR restores nested floating-control dismissal inside modals and aligns EMCN’s direct Radix dismissable-layer dependency with its dialog, popover, menu, and select primitives.

  • Removes modal-content pointer propagation blockers so Radix outside-interaction handlers receive pointer events.
  • Pins @radix-ui/react-dismissable-layer to 1.1.19 and updates the Bun lockfile.
  • Adds interaction coverage for sibling controls, outside clicks, Escape handling, disabled dismissal, and nested portaled content.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
packages/emcn/src/components/modal/modal.tsx Removes pointer-event propagation blockers from modal content while retaining existing outside-interaction guards.
packages/emcn/src/components/modal/modal-interactions.test.tsx Adds comprehensive regression coverage for floating controls and nested portaled interactions within modals.
packages/emcn/package.json Aligns the direct dismissable-layer dependency with the Radix primitives used by EMCN.
bun.lock Resolves EMCN’s aligned dismissable-layer version while preserving nested versions required by unrelated dependency trees.

Reviews (2): Last reviewed commit: "fix(modal): restore floating control dis..." | Re-trigger Greptile

Comment thread packages/emcn/src/components/modal/modal-interactions.test.tsx

@cubic-dev-ai cubic-dev-ai Bot 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.

No issues found across 4 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Re-trigger cubic

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@waleedlatif1 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot 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.

No issues found across 4 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Re-trigger cubic

@waleedlatif1
waleedlatif1 merged commit 915833b into staging Sep 4, 2026
35 checks passed
@waleedlatif1
waleedlatif1 deleted the codex/fix-modal-dropdown-dismissal branch September 4, 2026 01:00
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