From 6f12b852a1bd9b8e72cbc7d9dc6419d4b0510be5 Mon Sep 17 00:00:00 2001 From: Jonathan Summers-Muir Date: Fri, 5 Aug 2022 17:08:18 -0300 Subject: [PATCH] fix: telemetry sign up --- studio/components/interfaces/Home/Landing.tsx | 2 +- studio/components/ui/PageTelemetry.tsx | 19 +++++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/studio/components/interfaces/Home/Landing.tsx b/studio/components/interfaces/Home/Landing.tsx index d383907d846..d0cee301e51 100644 --- a/studio/components/interfaces/Home/Landing.tsx +++ b/studio/components/interfaces/Home/Landing.tsx @@ -18,7 +18,7 @@ const Landing = () => { provider: 'github', }, { - redirectTo: process.env.NEXT_PUBLIC_SITE_URL, + redirectTo: `${process.env.NEXT_PUBLIC_SITE_URL}?auth=true`, } ) if (error) throw error diff --git a/studio/components/ui/PageTelemetry.tsx b/studio/components/ui/PageTelemetry.tsx index 10532969edf..800f5ecd69e 100644 --- a/studio/components/ui/PageTelemetry.tsx +++ b/studio/components/ui/PageTelemetry.tsx @@ -12,6 +12,8 @@ const PageTelemetry: FC = ({ children }) => { const { ui } = useStore() const { profile } = ui + const isAuth = router.asPath && router.asPath.includes('auth=true') + useEffect(() => { function handleRouteChange() { handlePageTelemetry(profile) @@ -26,8 +28,20 @@ const PageTelemetry: FC = ({ children }) => { useEffect(() => { /** * Send page telemetry on first page load + * if there asPath is defined, then this isn't needed */ - handlePageTelemetry(profile) + if (router.route === '/' && !router.asPath) { + handlePageTelemetry(profile) + } + /** + * remove auth param from callback url + * to do: this causes an issue with sending two page views ! + * + * author @mildtomato + */ + if (isAuth) { + router.replace('/?auth=true', '/') + } }, []) const handlePageTelemetry = (profile?: User) => { @@ -41,7 +55,8 @@ const PageTelemetry: FC = ({ children }) => { * 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')) { + + if (isAuth) { referrer = undefined }