diff --git a/backend/src/server/routes/v1/dashboard-router.ts b/backend/src/server/routes/v1/dashboard-router.ts index 8db2f112c..2b4336e28 100644 --- a/backend/src/server/routes/v1/dashboard-router.ts +++ b/backend/src/server/routes/v1/dashboard-router.ts @@ -939,7 +939,7 @@ export const registerDashboardRouter = async (server: FastifyZodProvider) => { const usedBySecretSyncs = secretSyncs.map((sync) => ({ name: sync.name, destination: sync.destination, - environment: environment + environment })); if (secrets?.length || secretRotations?.length) { diff --git a/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/SelectionPanel.tsx b/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/SelectionPanel.tsx index 549d63679..464c19dcb 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/SelectionPanel.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/components/SelectionPanel/SelectionPanel.tsx @@ -48,7 +48,7 @@ export const SelectionPanel = ({ selectedEntries, importedBy, secretsToDeleteKeys, - usedBySecretSyncs + usedBySecretSyncs = [] }: Props) => { const { permission } = useProjectPermission(); @@ -86,7 +86,7 @@ export const SelectionPanel = ({ ); const usedBySecretSyncsFiltered = useMemo(() => { - if (selectedKeysCount === 0 || !usedBySecretSyncs) return null; + if (selectedKeysCount === 0 || usedBySecretSyncs.length === 0) return null; const envs = Object.values(selectedEntries.secret).flatMap((entries) => Object.keys(entries)); return usedBySecretSyncs.filter((syncItem) => envs.includes(syncItem.environment)); }, [selectedEntries, usedBySecretSyncs, selectedKeysCount]); diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx index 93a619b4c..a1f940530 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/ActionBar/ActionBar.tsx @@ -1073,8 +1073,8 @@ export const ActionBar = ({ onChange={(isOpen) => handlePopUpToggle("bulkDeleteSecrets", isOpen)} onDeleteApproved={handleSecretBulkDelete} formContent={ - importedBy && - importedBy.length > 0 && ( + ((importedBy && importedBy.length > 0) || + (usedBySecretSyncs && usedBySecretSyncs?.length > 0)) && ( s.key)} diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/CollapsibleSecretImports.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/CollapsibleSecretImports.tsx index 8e910221a..053d70148 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/CollapsibleSecretImports.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/CollapsibleSecretImports.tsx @@ -66,7 +66,8 @@ export const CollapsibleSecretImports: React.FC = if (item.type === ItemType.SecretSync) { window.open( `/secret-manager/${currentWorkspace.id}/integrations?selectedTab=secret-syncs`, - "_blank" + "_blank", + "noopener,noreferrer" ); return; } diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretItem.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretItem.tsx index e5944fc44..a4c30a3e0 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretItem.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretItem.tsx @@ -208,14 +208,14 @@ export const SecretItem = memo( }; const handleFormSubmit = async (data: TFormSchema) => { - if ( + const hasDirectReferences = importedBy && importedBy.some(({ folders }) => folders?.some(({ secrets }) => secrets?.some(({ referencedSecretId }) => referencedSecretId === secret.id) ) - ) - ) { + ); + if (hasDirectReferences) { handlePopUpOpen("editSecret", data); return; }