From e52c2cd0b63fcd8699084e4e8d4f3a4399679cac Mon Sep 17 00:00:00 2001 From: David Luzar <5153846+dwelle@users.noreply.github.com> Date: Tue, 9 Jul 2024 12:16:14 +0200 Subject: [PATCH] fix: log allowed events (#8224) --- .env.development | 2 +- .env.production | 4 ++-- excalidraw-app/package.json | 4 ++-- packages/excalidraw/analytics.ts | 17 ++++++++++------- packages/excalidraw/vite-env.d.ts | 1 + 5 files changed, 16 insertions(+), 12 deletions(-) diff --git a/.env.development b/.env.development index 95e21ff87c..85eb325335 100644 --- a/.env.development +++ b/.env.development @@ -22,7 +22,7 @@ VITE_APP_DEV_ENABLE_SW= # whether to disable live reload / HMR. Usuaully what you want to do when # debugging Service Workers. VITE_APP_DEV_DISABLE_LIVE_RELOAD= -VITE_APP_DISABLE_TRACKING=true +VITE_APP_ENABLE_TRACKING=true FAST_REFRESH=false diff --git a/.env.production b/.env.production index 0c715854a8..a1bb6b1b09 100644 --- a/.env.production +++ b/.env.production @@ -1,4 +1,4 @@ -VITE_APP_BACKEND_V2_GET_URL=https://json.excalidraw.com/api/v2/ +VITE_APP_ENABLE_TRACKINGVITE_APP_BACKEND_V2_GET_URL=https://json.excalidraw.com/api/v2/ VITE_APP_BACKEND_V2_POST_URL=https://json.excalidraw.com/api/v2/post/ VITE_APP_LIBRARY_URL=https://libraries.excalidraw.com @@ -14,4 +14,4 @@ VITE_APP_WS_SERVER_URL=https://oss-collab.excalidraw.com VITE_APP_FIREBASE_CONFIG='{"apiKey":"AIzaSyAd15pYlMci_xIp9ko6wkEsDzAAA0Dn0RU","authDomain":"excalidraw-room-persistence.firebaseapp.com","databaseURL":"https://excalidraw-room-persistence.firebaseio.com","projectId":"excalidraw-room-persistence","storageBucket":"excalidraw-room-persistence.appspot.com","messagingSenderId":"654800341332","appId":"1:654800341332:web:4a692de832b55bd57ce0c1"}' -VITE_APP_DISABLE_TRACKING= +VITE_APP_ENABLE_TRACKING=false diff --git a/excalidraw-app/package.json b/excalidraw-app/package.json index 8b82d01ad6..f066cebc78 100644 --- a/excalidraw-app/package.json +++ b/excalidraw-app/package.json @@ -31,8 +31,8 @@ "prettier": "@excalidraw/prettier-config", "scripts": { "build-node": "node ./scripts/build-node.js", - "build:app:docker": "cross-env VITE_APP_DISABLE_SENTRY=true VITE_APP_DISABLE_TRACKING=true vite build", - "build:app": "cross-env VITE_APP_GIT_SHA=$VERCEL_GIT_COMMIT_SHA vite build", + "build:app:docker": "cross-env VITE_APP_DISABLE_SENTRY=true vite build", + "build:app": "cross-env VITE_APP_GIT_SHA=$VERCEL_GIT_COMMIT_SHA cross-env VITE_APP_ENABLE_TRACKING=true vite build", "build:version": "node ../scripts/build-version.js", "build": "yarn build:app && yarn build:version", "start": "yarn && vite", diff --git a/packages/excalidraw/analytics.ts b/packages/excalidraw/analytics.ts index bd4b6191ef..600d962b49 100644 --- a/packages/excalidraw/analytics.ts +++ b/packages/excalidraw/analytics.ts @@ -1,6 +1,6 @@ // place here categories that you want to track. We want to track just a // small subset of categories at a given time. -const ALLOWED_CATEGORIES_TO_TRACK = ["ai", "command_palette"] as string[]; +const ALLOWED_CATEGORIES_TO_TRACK = new Set(["command_palette"]); export const trackEvent = ( category: string, @@ -9,17 +9,20 @@ export const trackEvent = ( value?: number, ) => { try { - // prettier-ignore if ( - typeof window === "undefined" - || import.meta.env.VITE_WORKER_ID - // comment out to debug locally - || import.meta.env.PROD + typeof window === "undefined" || + import.meta.env.VITE_WORKER_ID || + import.meta.env.VITE_APP_ENABLE_TRACKING !== "true" ) { return; } - if (!ALLOWED_CATEGORIES_TO_TRACK.includes(category)) { + if (!ALLOWED_CATEGORIES_TO_TRACK.has(category)) { + return; + } + + if (import.meta.env.DEV) { + // comment out to debug in dev return; } diff --git a/packages/excalidraw/vite-env.d.ts b/packages/excalidraw/vite-env.d.ts index c4ab79c37e..2a0f77bbd5 100644 --- a/packages/excalidraw/vite-env.d.ts +++ b/packages/excalidraw/vite-env.d.ts @@ -43,6 +43,7 @@ interface ImportMetaEnv { VITE_APP_COLLAPSE_OVERLAY: string; // Enable eslint in dev server VITE_APP_ENABLE_ESLINT: string; + VITE_APP_ENABLE_TRACKING: string; VITE_PKG_NAME: string; VITE_PKG_VERSION: string;