dify - ✅(Solved) Fix The configuration pop-up is obscured. [1 pull requests, 1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
langgenius/dify#34803Fetched 2026-04-09 08:17:50
View on GitHub
Comments
1
Participants
2
Timeline
4
Reactions
1
Author
Timeline (top)
commented ×1labeled ×1mentioned ×1subscribed ×1

PR fix notes

PR #34947: fix(web): anchor legacy Modal overlay to viewport regardless of ancestor context

Description (problem / solution / changelog)

Fixes #34803.

Clicking "+ Configure → Add API Key" on a data source in Settings collapses the modal into a narrow strip in the left gutter instead of opening centered.

base/modal/modal.tsx is built on PortalToFollowElem (a floating-ui dropdown primitive) without a trigger. With no reference element, floating-ui's computed position: absolute + transform: translate(...) inline styles usually happen to cover the viewport anyway, but the Settings page is wrapped in MenuDialog, a base-ui Dialog whose Popup has -translate-x-1/2 -translate-y-1/2, and that ancestor transform throws the positioning chain off.

One-line fix: pass style={{ position: 'fixed', inset: 0, transform: 'none' }} to PortalToFollowElemContent. The style prop is spread after floatingStyles inside that component so the override wins, and fixed + inset: 0 is what the modal backdrop should have been doing all along. Left a comment on the line so the hack doesn't get cleaned up later.

The real fix is migrating this component to base/ui/dialog (tracked in #32767), but that's a bigger job and this helps all 8 Modal consumers at once without needing to unwind anything later.

11 modal tests + 156 plugin-auth authorize tests pass, lint and types clean. I don't have a self-hosted Dify with Firecrawl installed to reproduce the exact screenshot in the issue, so if someone's already in a repro env I'd appreciate a quick eyeball check.

Changed files

  • web/app/components/base/modal/modal.tsx (modified, +11/-0)
RAW_BUFFERClick to expand / collapse

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

1.13.3

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

Settings - Data Sources - Firecrawl - Configuration - Add API key

✔️ Expected Behavior

The configuration pop-up should be placed at the top of the page.

❌ Actual Behavior

The configuration pop-up is obscured.

<img width="1078" height="611" alt="Image" src="https://github.com/user-attachments/assets/8708c0fc-fbc8-42a1-af00-01a9ebed07ea" /> <img width="1309" height="903" alt="Image" src="https://github.com/user-attachments/assets/2b57593f-c70c-4eed-bf18-e654d850beb3" />

extent analysis

TL;DR

Adjust the CSS styling or layout of the configuration pop-up to ensure it is displayed on top of other elements.

Guidance

  • Verify the z-index of the configuration pop-up and other overlapping elements to ensure the pop-up has the highest z-index.
  • Check the CSS positioning properties (e.g., position: absolute or position: fixed) of the pop-up and adjust as needed to prevent overlap.
  • Consider adding a high z-index value to the configuration pop-up's CSS styles, such as z-index: 1000, to force it to display on top of other elements.
  • Review the HTML structure and CSS styles of the surrounding elements to identify potential causes of the overlap.

Example

No specific code example can be provided without more information about the CSS and HTML structure of the page.

Notes

The exact solution may depend on the specific CSS framework and HTML structure used in the application.

Recommendation

Apply a workaround by adjusting the CSS styling of the configuration pop-up to ensure it is displayed on top of other elements, as the root cause of the issue is likely related to CSS styling or layout.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING