Skip to content

fix(web): cover composer with move dialog - #6854

Merged
Siri-Ray merged 1 commit into
mainfrom
agent/fix-editor-modal-composer-layer
Aug 14, 2026
Merged

fix(web): cover composer with move dialog#6854
Siri-Ray merged 1 commit into
mainfrom
agent/fix-editor-modal-composer-layer

Conversation

@Siri-Ray

@Siri-Ray Siri-Ray commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Why

The editor's “Move to team space” confirmation left the lower-left prompt composer bright and visually interactive while the rest of the editor was blurred. The composer is rendered in a body-level fixed portal, but the dialog was trapped inside the workspace stacking context and also opted out of the shared backdrop blur.

This fixes the editor modal hierarchy so the composer participates in the same background treatment as the canvas and surrounding chrome.

What users will see

Opening the move-to-team confirmation from the editor now blurs and dims the entire editor, including the lower-left prompt composer. The confirmation dialog remains sharp and highlighted above the backdrop.

Surface area

  • UI — new page / dialog / panel / menu item / setting / empty state in apps/web or apps/desktop (including Electron menu bar)
  • Keyboard shortcut — new or changed
  • CLI / env var — new od subcommand or flag, new tools-dev / tools-pack flag, or new OD_* env var
  • API / contract — new /api/* endpoint, new SSE event, or changed shape in packages/contracts
  • Extension point — new entry under skills/, design-systems/, design-templates/, or craft/, or change to the skills protocol
  • i18n keys — added new translation keys (see TRANSLATIONS.md for the locale workflow)
  • New top-level dependency — adding any new entry to the root package.json (dependencies or devDependencies); workspace-package package.json files are out of scope. Include a paragraph on what we get vs. what bytes we ship (see CONTRIBUTING.md → Code style)
  • Default behavior change — changes what existing users experience without opting in (default model, default setting, file/SQLite schema, auto-network on startup, auto-install)
  • None — internal refactor, docs, tests, or translation update only

Screenshots

After — the whole editor and composer share the blurred backdrop while the confirmation stays sharp:

Editor move-to-team modal with the full editor and prompt composer blurred behind it

Bug fix verification

  • Test path: apps/web/tests/components/MoveToTeamConfirmDialog.test.tsx
  • The regression spec went red on main (the dialog remained inside the workspace stacking context) and green on this branch.
  • A focused Playwright visual check also verified that the dialog is body-level, its backdrop has blur, and hit-testing the composer center resolves to the modal backdrop.

Validation

  • corepack pnpm guard
  • corepack pnpm typecheck
  • corepack pnpm --filter @open-design/web typecheck
  • corepack pnpm --filter @open-design/web exec vitest run -c vitest.config.ts tests/components/MoveToTeamConfirmDialog.test.tsx
  • Focused Playwright visual check: 1 passed
  • Full @open-design/web suite: 6,476 passed; one unrelated concurrent SettingsDialog.execution.test.tsx retry-count assertion failed, then passed in an isolated rerun

No GitHub issue is linked; this was directly reported and reproduced in the editor.

@lefarcen
lefarcen requested a review from mrcfps August 13, 2026 12:25
@lefarcen lefarcen added size/S PR changes 20-100 lines risk/medium Medium risk: regular code changes type/bugfix Bug fix labels Aug 13, 2026
@Siri-Ray
Siri-Ray marked this pull request as ready for review August 13, 2026 16:18
@lefarcen

Copy link
Copy Markdown
Contributor

🧪 This PR has changes that need a manual QA pass before merge — please hold off self-merging for now; we'll loop QA in once it's merge-ready (and design/product have signed off, where applicable).

@lefarcen lefarcen added the needs-validation Runtime change detected; needs human or /explore agent validation. label Aug 13, 2026

@mrcfps mrcfps 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.

@Siri-Ray thank you for the clean, well-aimed fix — this is a nice piece of stacking-context surgery.

I reviewed both changed files against the live diff at 390103c04f326e9beef4c6ff86e42f49b8bbf5b6. Portaling MoveToTeamConfirmDialog to document.body and dropping modal-backdrop--no-blur is the right pair of changes: the composer already lives in a body-level .chat-composer-fixed-layer (z-index: 45), while the dialog was trapped inside the workspace stacking context and also opted out of the shared backdrop blur. After this change it matches the established SignOutConfirmDialog / WhatsNewPopup pattern, and the shared .modal-backdrop (z-index: 1700) can dim and blur the composer the same way it treats the rest of the editor.

The home recent-projects confirmations keep their own inline Dialogs with --no-blur, so this stays scoped to the editor/workspace hosts (FileWorkspace and FileViewer). The new Vitest spec is a real red-spec: it asserts the alertdialog escapes the workspace host, lands on document.body, and no longer carries the no-blur class.

No correctness, safety, or maintainability issues in the changed ranges. Appreciate the focused regression test and the screenshot — this should feel much more consistent when moving a project from the editor. 🙌

🔁 Powered by Looper · runner=reviewer · agent=grok-build · An autonomous AI dev team for your GitHub repos.

@lefarcen
lefarcen requested a review from ivy-ting August 13, 2026 16:33
@Siri-Ray
Siri-Ray added this pull request to the merge queue Aug 13, 2026
@Siri-Ray
Siri-Ray removed this pull request from the merge queue due to a manual request Aug 13, 2026
@ivy-ting

Copy link
Copy Markdown
Contributor

@Siri-Ray

Thanks for the contribution. I completed QA validation for this PR at 390103c04f326e9beef4c6ff86e42f49b8bbf5b6.

QA Acceptance Record

Scope:

  • Ensure the editor move confirmation covers and blurs the composer without changing the Recent projects confirmation behavior.

Verified:

  • The focused portal regression test and Web typecheck passed.
  • Current-head CI is green.
  • In Electron, the dialog was portaled to document.body, the backdrop retained blur, and it rendered above the composer.
  • Hit-testing over the composer reached the backdrop, confirming that background clicks are blocked.

Conclusion:

  • Accepted.

@ivy-ting ivy-ting added validated Runtime change validated (via /explore Pass or manual QA). and removed needs-validation Runtime change detected; needs human or /explore agent validation. labels Aug 14, 2026
@Siri-Ray
Siri-Ray added this pull request to the merge queue Aug 14, 2026
Merged via the queue into main with commit 78baa52 Aug 14, 2026
55 of 59 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk/medium Medium risk: regular code changes size/S PR changes 20-100 lines type/bugfix Bug fix validated Runtime change validated (via /explore Pass or manual QA).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants