diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/control-bar/components/export-controls/export-controls.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/control-bar/components/export-controls/export-controls.tsx index 9551dd4ec87..540d6075262 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/control-bar/components/export-controls/export-controls.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/control-bar/components/export-controls/export-controls.tsx @@ -37,7 +37,7 @@ export function ExportControls({ disabled = false }: ExportControlsProps) { } } - const handleExportYaml = () => { + const handleExportYaml = async () => { if (!currentWorkflow || !activeWorkflowId) { logger.warn('No active workflow to export') return @@ -45,7 +45,7 @@ export function ExportControls({ disabled = false }: ExportControlsProps) { setIsExporting(true) try { - const yamlContent = getYaml() + const yamlContent = await getYaml() const filename = `${currentWorkflow.name.replace(/[^a-z0-9]/gi, '-')}.yaml` downloadFile(yamlContent, filename, 'text/yaml') diff --git a/apps/sim/stores/workflows/yaml/store.ts b/apps/sim/stores/workflows/yaml/store.ts index 294a2e1ca5f..afe8929bb0a 100644 --- a/apps/sim/stores/workflows/yaml/store.ts +++ b/apps/sim/stores/workflows/yaml/store.ts @@ -13,7 +13,7 @@ interface WorkflowYamlState { interface WorkflowYamlActions { generateYaml: () => Promise - getYaml: () => string + getYaml: () => Promise refreshYaml: () => void } @@ -151,7 +151,7 @@ export const useWorkflowYamlStore = create()( } }, - getYaml: () => { + getYaml: async () => { // Initialize subscriptions on first use initializeSubscriptions() @@ -160,7 +160,7 @@ export const useWorkflowYamlStore = create()( // Auto-refresh if data is stale (older than 1 second) or never generated if (!lastGenerated || currentTime - lastGenerated > 1000) { - get().generateYaml() + await get().generateYaml() return get().yaml }