From 1d80bed3bf383b55f630202a7875f969ccf88f64 Mon Sep 17 00:00:00 2001 From: Jonathan Summers-Muir Date: Fri, 5 Aug 2022 15:14:03 -0300 Subject: [PATCH] Update PageTelemetry.tsx --- studio/components/ui/PageTelemetry.tsx | 32 ++++++++++++++++++++------ 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/studio/components/ui/PageTelemetry.tsx b/studio/components/ui/PageTelemetry.tsx index f76a9981e94..10532969edf 100644 --- a/studio/components/ui/PageTelemetry.tsx +++ b/studio/components/ui/PageTelemetry.tsx @@ -23,16 +23,34 @@ const PageTelemetry: FC = ({ children }) => { } }, [router.events, profile]) + useEffect(() => { + /** + * Send page telemetry on first page load + */ + handlePageTelemetry(profile) + }, []) + const handlePageTelemetry = (profile?: User) => { if (IS_PLATFORM) { - // exclude github.com from referrer if user is logged in - // add other auth providers in here if necessary - const referrer = - !isUndefined(profile) && document.referrer === 'https://github.com' ? '' : document.referrer + /** + * Get referrer from browser + */ + let referrer: string | undefined = document.referrer - // send page view - // TODO: document.title is lagging behind routeChangeComplete - // that means the page title is the previous one instead of the new page title + /** + * When user is logging in for first time, callback url will contain param `signup=true` + * If true, we will exclude the referrer, which will likely be `github.com` (or any other provider used in future) + */ + if (router.asPath && router.asPath.includes('signup=true')) { + referrer = undefined + } + + /** + * Send page telemetry + * + * TODO: document.title is lagging behind routeChangeComplete + * that means the page title is the previous one instead of the new page title + */ post(`${API_URL}/telemetry/page`, { referrer: referrer, title: document.title,