From 508772cf58a4fd05e3720f60170ca636c3fee388 Mon Sep 17 00:00:00 2001 From: Vikhyath Mondreti Date: Wed, 11 Feb 2026 20:06:27 -0800 Subject: [PATCH] make it autoselect personal secret when create secret is clicked --- .../sub-block/components/env-var-dropdown.tsx | 9 +++++++ .../credentials/credentials-manager.tsx | 26 ++++++++++++++----- apps/sim/hooks/queries/credentials.ts | 2 ++ apps/sim/lib/credentials/client-state.ts | 13 +++++++++- 4 files changed, 42 insertions(+), 8 deletions(-) diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/env-var-dropdown.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/env-var-dropdown.tsx index 5df676c31..416e07950 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/env-var-dropdown.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/env-var-dropdown.tsx @@ -9,6 +9,7 @@ import { PopoverSection, } from '@/components/emcn' import { cn } from '@/lib/core/utils/cn' +import { writePendingCredentialCreateRequest } from '@/lib/credentials/client-state' import { usePersonalEnvironment, useWorkspaceEnvironment, @@ -168,6 +169,14 @@ export const EnvVarDropdown: React.FC = ({ }, [searchTerm]) const openEnvironmentSettings = () => { + if (workspaceId) { + writePendingCredentialCreateRequest({ + workspaceId, + type: 'env_personal', + envKey: searchTerm.trim(), + requestedAt: Date.now(), + }) + } window.dispatchEvent(new CustomEvent('open-settings', { detail: { tab: 'credentials' } })) onClose?.() } diff --git a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/credentials/credentials-manager.tsx b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/credentials/credentials-manager.tsx index fcae0fdf0..4cf3dd16f 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/credentials/credentials-manager.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/components/sidebar/components/settings-modal/components/credentials/credentials-manager.tsx @@ -283,7 +283,7 @@ export function CredentialsManager() { const request = readPendingCredentialCreateRequest() if (!request) return - if (request.workspaceId !== workspaceId || request.type !== 'oauth') { + if (request.workspaceId !== workspaceId) { return } @@ -293,10 +293,22 @@ export function CredentialsManager() { } setShowCreateModal(true) - setCreateType('oauth') - setCreateOAuthProviderId(request.providerId) - setCreateDisplayName(request.displayName) + setShowCreateOAuthRequiredModal(false) setCreateError(null) + setCreateEnvValue('') + + if (request.type === 'oauth') { + setCreateType('oauth') + setCreateOAuthProviderId(request.providerId) + setCreateDisplayName(request.displayName) + setCreateEnvKey('') + } else { + setCreateType(request.type) + setCreateOAuthProviderId('') + setCreateDisplayName('') + setCreateEnvKey(request.envKey || '') + } + clearPendingCredentialCreateRequest() }, [workspaceId]) @@ -635,7 +647,7 @@ export function CredentialsManager() { ) : sortedCredentials.length === 0 ? (
{bootstrapCredentials.isPending - ? 'Syncing credentials from connected accounts and env vars...' + ? 'Syncing credentials from connected accounts and secrets...' : 'No credentials available for this workspace.'}
) : ( @@ -1031,14 +1043,14 @@ export function CredentialsManager() { {selectedExistingEnvCredential && (

- This env key already maps to credential{' '} + This secret key already maps to credential{' '} {selectedExistingEnvCredential.displayName} .

- Create will update the env value and reuse the existing credential. + Create will update the secret value and reuse the existing credential.