From 283786917d38de030f145fa6e11b52b70fb643a8 Mon Sep 17 00:00:00 2001 From: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Date: Fri, 19 Dec 2025 15:27:03 +0100 Subject: [PATCH] fix(editor): Fix placeholder telemetry event triggering too many times (#23454) --- .../src/features/ai/assistant/builder.store.ts | 11 ----------- .../ai/assistant/components/Agent/ExecuteMessage.vue | 7 +++++++ 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/packages/frontend/editor-ui/src/features/ai/assistant/builder.store.ts b/packages/frontend/editor-ui/src/features/ai/assistant/builder.store.ts index 5be41275376..14740ba9757 100644 --- a/packages/frontend/editor-ui/src/features/ai/assistant/builder.store.ts +++ b/packages/frontend/editor-ui/src/features/ai/assistant/builder.store.ts @@ -770,17 +770,6 @@ export const useBuilderStore = defineStore(STORES.BUILDER, () => { telemetry.track('Workflow builder journey', payload); } - watch( - workflowTodos, - (newTodos, oldTodos) => { - // Only track if we had todos before and now we don't - if (oldTodos && oldTodos.length > 0 && newTodos.length === 0) { - trackWorkflowBuilderJourney('no_placeholder_values_left'); - } - }, - { deep: true }, - ); - // Public API return { // State diff --git a/packages/frontend/editor-ui/src/features/ai/assistant/components/Agent/ExecuteMessage.vue b/packages/frontend/editor-ui/src/features/ai/assistant/components/Agent/ExecuteMessage.vue index e128cdba63a..693c8c5b80c 100644 --- a/packages/frontend/editor-ui/src/features/ai/assistant/components/Agent/ExecuteMessage.vue +++ b/packages/frontend/editor-ui/src/features/ai/assistant/components/Agent/ExecuteMessage.vue @@ -187,6 +187,13 @@ function trackBuilderPlaceholders(issue: WorkflowValidationIssue) { onMounted(scrollIntoView); +// Track when all todos are resolved while the component is visible +watch(hasValidationIssues, (hasIssues, hadIssues) => { + if (hadIssues && !hasIssues) { + builderStore.trackWorkflowBuilderJourney('no_placeholder_values_left'); + } +}); + onBeforeUnmount(() => { stopExecutionWatcher(); });