diff --git a/src/components/actionbar/ComfyRunButton/ComfyQueueButton.vue b/src/components/actionbar/ComfyRunButton/ComfyQueueButton.vue index a6359763e..cba25fc5a 100644 --- a/src/components/actionbar/ComfyRunButton/ComfyQueueButton.vue +++ b/src/components/actionbar/ComfyRunButton/ComfyQueueButton.vue @@ -158,9 +158,7 @@ const queuePrompt = async (e: Event) => { ? 'Comfy.QueuePromptFront' : 'Comfy.QueuePrompt' - if (isCloud) { - useTelemetry()?.trackRunButton({ subscribe_to_run: false }) - } + useTelemetry()?.trackRunButton({ subscribe_to_run: false }) await commandStore.execute(commandId) } diff --git a/src/components/dialog/content/ErrorDialogContent.vue b/src/components/dialog/content/ErrorDialogContent.vue index 97b0a18d3..7b08cbe1b 100644 --- a/src/components/dialog/content/ErrorDialogContent.vue +++ b/src/components/dialog/content/ErrorDialogContent.vue @@ -61,6 +61,7 @@ import { useI18n } from 'vue-i18n' import NoResultsPlaceholder from '@/components/common/NoResultsPlaceholder.vue' import FindIssueButton from '@/components/dialog/content/error/FindIssueButton.vue' import { useCopyToClipboard } from '@/composables/useCopyToClipboard' +import { useTelemetry } from '@/platform/telemetry' import { api } from '@/scripts/api' import { app } from '@/scripts/app' import { useCommandStore } from '@/stores/commandStore' @@ -92,12 +93,18 @@ const showReport = () => { const toast = useToast() const { t } = useI18n() const systemStatsStore = useSystemStatsStore() +const telemetry = useTelemetry() const title = computed( () => error.nodeType ?? error.exceptionType ?? t('errorDialog.defaultTitle') ) const showContactSupport = async () => { + telemetry?.trackHelpResourceClicked({ + resource_type: 'help_feedback', + is_external: true, + source: 'error_dialog' + }) await useCommandStore().execute('Comfy.ContactSupport') } 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/dialog/content/setting/CreditsPanel.vue b/src/components/dialog/content/setting/CreditsPanel.vue index 0e8ae20a2..378675b1d 100644 --- a/src/components/dialog/content/setting/CreditsPanel.vue +++ b/src/components/dialog/content/setting/CreditsPanel.vue @@ -123,6 +123,7 @@ import { computed, ref, watch } from 'vue' import UserCredit from '@/components/common/UserCredit.vue' import UsageLogsTable from '@/components/dialog/content/setting/UsageLogsTable.vue' import { useFirebaseAuthActions } from '@/composables/auth/useFirebaseAuthActions' +import { useTelemetry } from '@/platform/telemetry' import { useDialogService } from '@/services/dialogService' import { useCommandStore } from '@/stores/commandStore' import { useFirebaseAuthStore } from '@/stores/firebaseAuthStore' @@ -139,6 +140,7 @@ const dialogService = useDialogService() const authStore = useFirebaseAuthStore() const authActions = useFirebaseAuthActions() const commandStore = useCommandStore() +const telemetry = useTelemetry() const loading = computed(() => authStore.loading) const balanceLoading = computed(() => authStore.isFetchingBalance) @@ -168,6 +170,11 @@ const handleCreditsHistoryClick = async () => { } const handleMessageSupport = async () => { + telemetry?.trackHelpResourceClicked({ + resource_type: 'help_feedback', + is_external: true, + source: 'credits_panel' + }) await commandStore.execute('Comfy.ContactSupport') } diff --git a/src/components/helpcenter/HelpCenterMenuContent.vue b/src/components/helpcenter/HelpCenterMenuContent.vue index bfa1cbc96..c069cea17 100644 --- a/src/components/helpcenter/HelpCenterMenuContent.vue +++ b/src/components/helpcenter/HelpCenterMenuContent.vue @@ -130,13 +130,14 @@