From b7cbc220e9e095d8d9de5cf3d7483205dd505c97 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) Backport of #6400 --------- Co-authored-by: Arjan Singh --- .../content/credit/CreditTopUpOption.vue | 7 +- src/components/searchbox/NodeSearchBox.vue | 25 +- src/composables/useTemplateFiltering.ts | 36 +- .../components/SubscribeButton.vue | 2 + .../cloud/MixpanelTelemetryProvider.ts | 367 ++++------ src/platform/telemetry/types.ts | 30 + .../__tests__/surveyNormalization.test.ts | 682 ++++++++++++++++++ .../telemetry/utils/surveyNormalization.ts | 606 ++++++++++++++++ src/scripts/app.ts | 8 + src/utils/graphTraversalUtil.ts | 21 + src/views/GraphView.vue | 81 +++ tests-ui/tests/store/subgraphStore.test.ts | 5 + 12 files changed, 1635 insertions(+), 235 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 56e6a43d4..4d8ce61c6 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)" >