diff --git a/browser_tests/tests/vueNodes/nodeStates/bypass.spec.ts-snapshots/vue-node-bypassed-state-chromium-linux.png b/browser_tests/tests/vueNodes/nodeStates/bypass.spec.ts-snapshots/vue-node-bypassed-state-chromium-linux.png index a97d02714..91e59358a 100644 Binary files a/browser_tests/tests/vueNodes/nodeStates/bypass.spec.ts-snapshots/vue-node-bypassed-state-chromium-linux.png and b/browser_tests/tests/vueNodes/nodeStates/bypass.spec.ts-snapshots/vue-node-bypassed-state-chromium-linux.png differ diff --git a/src/platform/telemetry/providers/cloud/MixpanelTelemetryProvider.ts b/src/platform/telemetry/providers/cloud/MixpanelTelemetryProvider.ts index c89a04098..4b09ab910 100644 --- a/src/platform/telemetry/providers/cloud/MixpanelTelemetryProvider.ts +++ b/src/platform/telemetry/providers/cloud/MixpanelTelemetryProvider.ts @@ -205,15 +205,20 @@ export class MixpanelTelemetryProvider implements TelemetryProvider { const template = templatesStore.getTemplateByName( activeWorkflow.filename ) + + const englishMetadata = templatesStore.getEnglishMetadata( + activeWorkflow.filename + ) + return { is_template: true, workflow_name: activeWorkflow.filename, template_source: template?.sourceModule, - template_category: template?.category, - template_tags: template?.tags, - template_models: template?.models, - template_use_case: template?.useCase, - template_license: template?.license + template_category: englishMetadata?.category ?? template?.category, + template_tags: englishMetadata?.tags ?? template?.tags, + template_models: englishMetadata?.models ?? template?.models, + template_use_case: englishMetadata?.useCase ?? template?.useCase, + template_license: englishMetadata?.license ?? template?.license } } diff --git a/src/platform/workflow/templates/repositories/workflowTemplatesStore.ts b/src/platform/workflow/templates/repositories/workflowTemplatesStore.ts index 8d73911f1..a1507f621 100644 --- a/src/platform/workflow/templates/repositories/workflowTemplatesStore.ts +++ b/src/platform/workflow/templates/repositories/workflowTemplatesStore.ts @@ -3,6 +3,7 @@ import { defineStore } from 'pinia' import { computed, ref, shallowRef } from 'vue' import { i18n, st } from '@/i18n' +import { isCloud } from '@/platform/distribution/types' import { api } from '@/scripts/api' import type { NavGroupData, NavItemData } from '@/types/navTypes' import { getCategoryIcon } from '@/utils/categoryIcons' @@ -29,6 +30,7 @@ export const useWorkflowTemplatesStore = defineStore( () => { const customTemplates = shallowRef<{ [moduleName: string]: string[] }>({}) const coreTemplates = shallowRef([]) + const englishTemplates = shallowRef([]) const isLoaded = ref(false) const knownTemplateNames = ref(new Set()) @@ -436,7 +438,16 @@ export const useWorkflowTemplatesStore = defineStore( if (!isLoaded.value) { customTemplates.value = await api.getWorkflowTemplates() const locale = i18n.global.locale.value - coreTemplates.value = await api.getCoreWorkflowTemplates(locale) + + const [coreResult, englishResult] = await Promise.all([ + api.getCoreWorkflowTemplates(locale), + isCloud && locale !== 'en' + ? api.getCoreWorkflowTemplates('en') + : Promise.resolve([]) + ]) + + coreTemplates.value = coreResult + englishTemplates.value = englishResult const coreNames = coreTemplates.value.flatMap((category) => category.templates.map((template) => template.name) @@ -451,6 +462,33 @@ export const useWorkflowTemplatesStore = defineStore( } } + function getEnglishMetadata(templateName: string): { + tags?: string[] + category?: string + useCase?: string + models?: string[] + license?: string + } | null { + if (englishTemplates.value.length === 0) { + return null + } + + for (const category of englishTemplates.value) { + const template = category.templates.find((t) => t.name === templateName) + if (template) { + return { + tags: template.tags, + category: category.title, + useCase: template.useCase, + models: template.models, + license: template.license + } + } + } + + return null + } + return { groupedTemplates, navGroupedTemplates, @@ -460,7 +498,8 @@ export const useWorkflowTemplatesStore = defineStore( isLoaded, loadWorkflowTemplates, knownTemplateNames, - getTemplateByName + getTemplateByName, + getEnglishMetadata } } )