Skip to content

fix(desktop): prevent menu-to-dialog UI lockups#1839

Merged
wesbillman merged 1 commit into
mainfrom
pinky/fix-menu-dialog-lockup
Jul 14, 2026
Merged

fix(desktop): prevent menu-to-dialog UI lockups#1839
wesbillman merged 1 commit into
mainfrom
pinky/fix-menu-dialog-lockup

Conversation

@wesbillman

Copy link
Copy Markdown
Collaborator

Summary

  • make Radix menu roots non-modal when their actions open dialogs or confirmation surfaces
  • cover the workspace rail settings outside-dismiss lockup with an end-to-end regression
  • apply the established sidebar fix to the other audited menu-to-dialog transitions

Why

A modal Radix menu and a dialog can overlap during the handoff. Both manage the global pointer-events guard, and dismissing the dialog outside can leave pointer-events: none on <body>, making the app unclickable. Non-modal menus avoid installing that competing body guard.

Test plan

  • pnpm exec biome check on changed files
  • pnpm typecheck
  • pnpm build
  • pnpm exec playwright test tests/e2e/workspace-rail.spec.ts (7 passed)

@wesbillman wesbillman requested a review from a team as a code owner July 14, 2026 00:12
@wesbillman wesbillman force-pushed the pinky/fix-menu-dialog-lockup branch from 380c99c to d36f173 Compare July 14, 2026 00:44
Make menu roots non-modal where their actions hand off to dialogs so Radix
cannot leave the body's pointer-events guard behind. Cover the workspace rail
outside-dismiss flow with an end-to-end regression test.

Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
@wesbillman wesbillman force-pushed the pinky/fix-menu-dialog-lockup branch from 5e1863d to 560e15b Compare July 14, 2026 15:44
@wesbillman wesbillman merged commit 7f81d93 into main Jul 14, 2026
25 checks passed
@wesbillman wesbillman deleted the pinky/fix-menu-dialog-lockup branch July 14, 2026 16:03
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