From d17be734eae44e70271a4d7ab5c93895ed4732e8 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 17 Aug 2026 04:53:36 +0000 Subject: [PATCH] Add Vercel Analytics self-exclusion via localStorage va-disable Drop Web Analytics events when localStorage.va-disable is set, matching the official beforeSend opt-out pattern. Guard localStorage so missing or blocked storage cannot crash the client. Co-authored-by: Stephen Wu --- src/main.tsx | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main.tsx b/src/main.tsx index 2ebe757..4f2665e 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,12 +1,23 @@ import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' -import { Analytics } from '@vercel/analytics/react' +import { Analytics, type BeforeSendEvent } from '@vercel/analytics/react' import './index.css' import App from './App.tsx' +function analyticsBeforeSend(event: BeforeSendEvent) { + try { + if (typeof localStorage !== 'undefined' && localStorage.getItem('va-disable')) { + return null + } + } catch { + // localStorage can be missing or throw (privacy mode / non-browser). + } + return event +} + createRoot(document.getElementById('root')!).render( - + , )