From 09f2bd6e9b40712994a2fcc9956b1ef03028412e Mon Sep 17 00:00:00 2001 From: bymyself Date: Wed, 29 Oct 2025 20:47:16 -0700 Subject: [PATCH] [fix] Use browser window API instead of Node.js types Replace NodeJS.Timeout with number type and use window.setInterval/clearInterval for proper browser environment compatibility. Fixes TypeScript errors where Node.js types were incorrectly used in frontend code. --- .../content/credit/CreditTopUpOption.vue | 7 +- src/components/searchbox/NodeSearchBox.vue | 25 +++++- .../useWorkflowTemplateSelectorDialog.ts | 3 + .../components/SubscribeButton.vue | 2 + src/scripts/app.ts | 9 +++ src/utils/graphTraversalUtil.ts | 21 +++++ src/views/GraphView.vue | 81 +++++++++++++++++++ 7 files changed, 146 insertions(+), 2 deletions(-) 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)" >