From d9e6041a757af83210e9430aa620718a4f6ccb88 Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Date: Thu, 18 Jun 2026 09:08:50 +0100 Subject: [PATCH] set z-index on config dropdowns so they render above the modal (#6674) --- .gitleaksignore | 3 +++ .../configSections/AdminConnectionsSection.tsx | 12 +++++++++--- .../configSections/AdminDatabaseSection.tsx | 4 ++++ .../configSections/AdminEndpointsSection.tsx | 11 +++++++++-- .../configSections/AdminGeneralSection.tsx | 12 +++++++++--- .../config/configSections/AdminMcpSection.tsx | 5 +++++ .../configSections/AdminSecuritySection.tsx | 16 +++++++++++++--- 7 files changed, 52 insertions(+), 11 deletions(-) diff --git a/.gitleaksignore b/.gitleaksignore index f363dd1148..cf676687ec 100644 --- a/.gitleaksignore +++ b/.gitleaksignore @@ -12,3 +12,6 @@ app/proprietary/src/test/java/stirling/software/proprietary/mcp/security/McpApiK testing/compose/docker-compose-keycloak-mcp.yml:generic-api-key:25 testing/compose/validate-mcp-apikey.sh:curl-auth-header:73 testing/compose/validate-mcp-test.sh:curl-auth-header:92 + +# Truncated placeholder API key in portal docs example (sk_live_8f2c...e10) - not a real secret. +frontend/portal/src/components/docs/GettingStartedSection.tsx:generic-api-key:31 diff --git a/frontend/editor/src/proprietary/components/shared/config/configSections/AdminConnectionsSection.tsx b/frontend/editor/src/proprietary/components/shared/config/configSections/AdminConnectionsSection.tsx index 168ae6ca6d..2ad95525a1 100644 --- a/frontend/editor/src/proprietary/components/shared/config/configSections/AdminConnectionsSection.tsx +++ b/frontend/editor/src/proprietary/components/shared/config/configSections/AdminConnectionsSection.tsx @@ -22,7 +22,7 @@ import { useAdminSettings } from "@app/hooks/useAdminSettings"; import { useSettingsDirty } from "@app/hooks/useSettingsDirty"; import PendingBadge from "@app/components/shared/config/PendingBadge"; import { SettingsStickyFooter } from "@app/components/shared/config/SettingsStickyFooter"; -import { Z_INDEX_CONFIG_MODAL } from "@app/styles/zIndex"; +import { Z_INDEX_OVER_CONFIG_MODAL } from "@app/styles/zIndex"; import ProviderCard from "@app/components/shared/config/configSections/ProviderCard"; import { Provider, @@ -815,7 +815,10 @@ export default function AdminConnectionsSection() { ]} disabled={!loginEnabled} style={{ width: "250px" }} - comboboxProps={{ zIndex: Z_INDEX_CONFIG_MODAL }} + comboboxProps={{ + withinPortal: true, + zIndex: Z_INDEX_OVER_CONFIG_MODAL, + }} /> diff --git a/frontend/editor/src/proprietary/components/shared/config/configSections/AdminEndpointsSection.tsx b/frontend/editor/src/proprietary/components/shared/config/configSections/AdminEndpointsSection.tsx index 887ff85b74..05fb7e11d4 100644 --- a/frontend/editor/src/proprietary/components/shared/config/configSections/AdminEndpointsSection.tsx +++ b/frontend/editor/src/proprietary/components/shared/config/configSections/AdminEndpointsSection.tsx @@ -18,6 +18,7 @@ import PendingBadge from "@app/components/shared/config/PendingBadge"; import { SettingsStickyFooter } from "@app/components/shared/config/SettingsStickyFooter"; import { useLoginRequired } from "@app/hooks/useLoginRequired"; import LoginRequiredBanner from "@app/components/shared/config/LoginRequiredBanner"; +import { Z_INDEX_OVER_CONFIG_MODAL } from "@app/styles/zIndex"; interface UISettingsData { defaultHideUnavailableTools?: boolean; @@ -300,7 +301,10 @@ export default function AdminEndpointsSection() { "admin.settings.endpoints.toRemove.placeholder", "Select endpoints to disable", )} - comboboxProps={{ zIndex: 1400 }} + comboboxProps={{ + withinPortal: true, + zIndex: Z_INDEX_OVER_CONFIG_MODAL, + }} disabled={!loginEnabled} /> @@ -337,7 +341,10 @@ export default function AdminEndpointsSection() { "admin.settings.endpoints.groupsToRemove.placeholder", "Select groups to disable", )} - comboboxProps={{ zIndex: 1400 }} + comboboxProps={{ + withinPortal: true, + zIndex: Z_INDEX_OVER_CONFIG_MODAL, + }} disabled={!loginEnabled} /> diff --git a/frontend/editor/src/proprietary/components/shared/config/configSections/AdminGeneralSection.tsx b/frontend/editor/src/proprietary/components/shared/config/configSections/AdminGeneralSection.tsx index ebfb7ed6ab..aaf73ec281 100644 --- a/frontend/editor/src/proprietary/components/shared/config/configSections/AdminGeneralSection.tsx +++ b/frontend/editor/src/proprietary/components/shared/config/configSections/AdminGeneralSection.tsx @@ -32,7 +32,7 @@ import { toUnderscoreFormat, toUnderscoreLanguages, } from "@app/i18n"; -import { Z_INDEX_CONFIG_MODAL } from "@app/styles/zIndex"; +import { Z_INDEX_OVER_CONFIG_MODAL } from "@app/styles/zIndex"; interface GeneralSettingsData { ui: { @@ -591,7 +591,10 @@ export default function AdminGeneralSection() { "admin.settings.general.languages.placeholder", "Select languages", )} - comboboxProps={{ zIndex: Z_INDEX_CONFIG_MODAL }} + comboboxProps={{ + withinPortal: true, + zIndex: Z_INDEX_OVER_CONFIG_MODAL, + }} disabled={!loginEnabled} /> @@ -626,7 +629,10 @@ export default function AdminGeneralSection() { searchable clearable placeholder="en_US" - comboboxProps={{ zIndex: Z_INDEX_CONFIG_MODAL }} + comboboxProps={{ + withinPortal: true, + zIndex: Z_INDEX_OVER_CONFIG_MODAL, + }} disabled={!loginEnabled} /> diff --git a/frontend/editor/src/proprietary/components/shared/config/configSections/AdminMcpSection.tsx b/frontend/editor/src/proprietary/components/shared/config/configSections/AdminMcpSection.tsx index d3407f8a0e..64976c296a 100644 --- a/frontend/editor/src/proprietary/components/shared/config/configSections/AdminMcpSection.tsx +++ b/frontend/editor/src/proprietary/components/shared/config/configSections/AdminMcpSection.tsx @@ -24,6 +24,7 @@ import PendingBadge from "@app/components/shared/config/PendingBadge"; import { SettingsStickyFooter } from "@app/components/shared/config/SettingsStickyFooter"; import apiClient from "@app/services/apiClient"; import { useLoginRequired } from "@app/hooks/useLoginRequired"; +import { Z_INDEX_OVER_CONFIG_MODAL } from "@app/styles/zIndex"; interface McpAuthData { mode?: string; @@ -211,6 +212,10 @@ export default function AdminMcpSection() { value={authMode} onChange={(v) => setAuth({ mode: v || "oauth" })} allowDeselect={false} + comboboxProps={{ + withinPortal: true, + zIndex: Z_INDEX_OVER_CONFIG_MODAL, + }} disabled={!settings.enabled} /> diff --git a/frontend/editor/src/proprietary/components/shared/config/configSections/AdminSecuritySection.tsx b/frontend/editor/src/proprietary/components/shared/config/configSections/AdminSecuritySection.tsx index 02d1f27018..a993c3156e 100644 --- a/frontend/editor/src/proprietary/components/shared/config/configSections/AdminSecuritySection.tsx +++ b/frontend/editor/src/proprietary/components/shared/config/configSections/AdminSecuritySection.tsx @@ -26,6 +26,7 @@ import { SettingsStickyFooter } from "@app/components/shared/config/SettingsStic import apiClient from "@app/services/apiClient"; import { useLoginRequired } from "@app/hooks/useLoginRequired"; import LoginRequiredBanner from "@app/components/shared/config/LoginRequiredBanner"; +import { Z_INDEX_OVER_CONFIG_MODAL } from "@app/styles/zIndex"; interface SecuritySettingsData { enableLogin?: boolean; @@ -364,7 +365,10 @@ export default function AdminSecuritySection() { ), }, ]} - comboboxProps={{ zIndex: 1400 }} + comboboxProps={{ + withinPortal: true, + zIndex: Z_INDEX_OVER_CONFIG_MODAL, + }} disabled={!loginEnabled} /> {isFieldPending("loginMethod") && ( @@ -480,7 +484,10 @@ export default function AdminSecuritySection() { ), }, ]} - comboboxProps={{ zIndex: 1400 }} + comboboxProps={{ + withinPortal: true, + zIndex: Z_INDEX_OVER_CONFIG_MODAL, + }} disabled={!loginEnabled} /> @@ -1191,7 +1198,10 @@ export default function AdminSecuritySection() { ), }, ]} - comboboxProps={{ zIndex: 1400 }} + comboboxProps={{ + withinPortal: true, + zIndex: Z_INDEX_OVER_CONFIG_MODAL, + }} disabled={!loginEnabled} />