fix(web): raise Settings and Dialog backdrops above popover tier - #7439
fix(web): raise Settings and Dialog backdrops above popover tier#7439xxiaoxiong wants to merge 1 commit into
Conversation
Settings (.modal-backdrop) sits at z-index 1700, the same tier as canvas edit popovers (1500-1900). The result: when an edit popover is already open and the user clicks Settings, the Settings modal opens behind the popover instead of on top of it. This commit raises the relevant backdrops to a tier above the popover range (2000/2010), matching the fix from nexu-io#5091 that did not land due to rebase friction. .modal-backdrop--app-modal stays at 10000 so app-modal Settings continues to outrank standard modals. The privacy consent banner moves with the backdrop tier (110 -> 2010) so its 'above modal backdrops' invariant is preserved. Layer order after fix: 1500-1900 popovers / edit overlays 2000 Dialog backdrop + Settings .modal-backdrop 2010 privacy consent banner 9000 toast/overlays 10000 .modal-backdrop--app-modal See nexu-io#4447. Signed-off-by: xxiaoxiong <2482929840@qq.com>
|
Thanks @xxiaoxiong — this is a nicely scoped follow-up to the backdrop stacking bug, and the PR body makes the z-index intent easy to verify. I'll route it through the current review checks and get the right eyes on it within 24h. |
|
Thanks for writing this up so clearly — the layering table and the note about PR #5091 make the intent easy to follow. One small PR-body request before pool review picks it up: could you add the |
|
🧪 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). |
|
Workspace unit tests failed in run 32952976352. This is likely a pre-existing flake unrelated to the 4-line z-index change. Could a maintainer re-run just that one check to confirm? |
mrcfps
left a comment
There was a problem hiding this comment.
@xxiaoxiong thanks for the tightly scoped stacking fix — this is a clean follow-up to #4447 / #5091.
Verified the three-value bump against the live overlay scale: Settings .modal-backdrop and the shared Dialog backdrop both land at 2000 (above the 1500–1900 popover/edit overlay band, including the 1800–1900 canvas overlays), the privacy banner stays 10 above that tier so the “visible while Settings is open” invariant actually holds, and .modal-backdrop--app-modal remains at 10000 so app-modal Settings still outranks standard modals. Toasts/selects at 9000 and the model picker at 10500 stay above, as intended.
Nice, minimal, and easy to reason about. Appreciate the careful layer table. 🙌
🔁 Powered by Looper · runner=reviewer · agent=omp · An autonomous AI dev team for your GitHub repos.
|
Looking at the failed jobs:
None of the changed files (3 CSS files: |













































Summary
The Settings dialog
.modal-backdropsits at z-index 1700, the same tier as canvas edit popovers (1500-1900). When an edit popover is already open and the user clicks Settings, the Settings modal opens behind the popover instead of on top of it.This commit raises the relevant backdrops to a tier above the popover range (2000/2010), so Settings reliably lands on top.
The previous attempt to fix this (PR #5091) was closed because rebase exposed pre-existing test failures unrelated to the z-index change. This is a fresh, minimal PR with only the 3 z-index values changed.
Changes
packages/components/src/dialog.module.css.backdropz-index 100 → 2000apps/web/src/styles/viewer/memory.css.privacy-consent-bannerz-index 110 → 2010 (and update comment)apps/web/src/styles/workspace/mention-home.css.modal-backdrop(Settings) z-index 1700 → 2000.modal-backdrop--app-modalstays at 10000 — app-modal Settings continues to outrank standard modals.Layer order after fix
.modal-backdrop.modal-backdrop--app-modalReference
See #4447 (the original bug report).
Validation
The previous fix on PR #5091 was approved by
@netteeand reviewed by@lefarcen— only the rebase against newer main triggered unrelated Playwright failures. This PR re-applies the same three z-index values on a fresh branch off the current main HEAD (53e78ac1) and produces a 4-line diff that touches only the 3 files in question.