From 1322a56653f635d6daf1c4894f1c068f48164eda Mon Sep 17 00:00:00 2001 From: Christian Byrne Date: Thu, 30 Oct 2025 20:46:42 -0700 Subject: [PATCH] Cloud/tracking v2 (#6400) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary ## Changes - **What**: - **Breaking**: - **Dependencies**: ## Review Focus ## Screenshots (if applicable) ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-6400-Cloud-tracking-v2-29c6d73d365081a1ae32e9337f510a9e) by [Unito](https://www.unito.io) --------- Co-authored-by: Arjan Singh --- .../content/credit/CreditTopUpOption.vue | 7 +- src/components/searchbox/NodeSearchBox.vue | 25 +- src/composables/useTemplateFiltering.ts | 36 +- .../useWorkflowTemplateSelectorDialog.ts | 3 + .../components/SubscribeButton.vue | 2 + .../cloud/MixpanelTelemetryProvider.ts | 106 ++- src/platform/telemetry/types.ts | 122 ++++ .../__tests__/surveyNormalization.test.ts | 683 ++++++++++++++++++ .../telemetry/utils/surveyNormalization.ts | 606 ++++++++++++++++ src/scripts/app.ts | 9 + src/utils/graphTraversalUtil.ts | 21 + src/views/GraphView.vue | 81 +++ tests-ui/tests/store/subgraphStore.test.ts | 5 + 13 files changed, 1698 insertions(+), 8 deletions(-) create mode 100644 src/platform/telemetry/utils/__tests__/surveyNormalization.test.ts create mode 100644 src/platform/telemetry/utils/surveyNormalization.ts diff --git a/src/components/dialog/content/credit/CreditTopUpOption.vue b/src/components/dialog/content/credit/CreditTopUpOption.vue index 402df3ac0..f134aba5e 100644 --- a/src/components/dialog/content/credit/CreditTopUpOption.vue +++ b/src/components/dialog/content/credit/CreditTopUpOption.vue @@ -43,8 +43,10 @@ import Tag from 'primevue/tag' import { onBeforeUnmount, ref } from 'vue' import { useFirebaseAuthActions } from '@/composables/auth/useFirebaseAuthActions' +import { useTelemetry } from '@/platform/telemetry' const authActions = useFirebaseAuthActions() +const telemetry = useTelemetry() const { amount, @@ -61,8 +63,11 @@ const didClickBuyNow = ref(false) const loading = ref(false) const handleBuyNow = async () => { + const creditAmount = editable ? customAmount.value : amount + telemetry?.trackApiCreditTopupButtonPurchaseClicked(creditAmount) + loading.value = true - await authActions.purchaseCredits(editable ? customAmount.value : amount) + await authActions.purchaseCredits(creditAmount) loading.value = false didClickBuyNow.value = true } diff --git a/src/components/searchbox/NodeSearchBox.vue b/src/components/searchbox/NodeSearchBox.vue index f1e9dced8..956147472 100644 --- a/src/components/searchbox/NodeSearchBox.vue +++ b/src/components/searchbox/NodeSearchBox.vue @@ -51,7 +51,7 @@ multiple :option-label="'display_name'" @complete="search($event.query)" - @option-select="emit('addNode', $event.value)" + @option-select="onAddNode($event.value)" @focused-option-changed="setHoverSuggestion($event)" >