diff --git a/src/lib/components/Navbar.svelte b/src/lib/components/Navbar.svelte index d8949222..50ad17e0 100644 --- a/src/lib/components/Navbar.svelte +++ b/src/lib/components/Navbar.svelte @@ -104,12 +104,15 @@ checked={isReferral} onclick={() => { logEvent('playgroundToggle', { isReferred: isReferral }); - window.open( - `${MCBaseURL}/play#${$stateStore.serialized}`, - '_self', - // Do not send referrer header, if the user already came from playground - isReferral ? 'noreferrer' : '' - ); + // Wait for the event to be logged + setTimeout(() => { + window.open( + `${MCBaseURL}/play#${$stateStore.serialized}`, + '_self', + // Do not send referrer header, if the user already came from playground + isReferral ? 'noreferrer' : '' + ); + }, 100); }} /> Playground {/if} diff --git a/src/lib/util/stats.ts b/src/lib/util/stats.ts index 1e7aa67a..d111290b 100644 --- a/src/lib/util/stats.ts +++ b/src/lib/util/stats.ts @@ -103,8 +103,7 @@ export const logEvent = ( return; } const key = data ? JSON.stringify({ name, data }) : name; - const delay = delaysPerEvent[name]; - if (timeouts.has(key) && delay > 0) { + if (timeouts.has(key)) { clearTimeout(timeouts.get(key)); } else { plausible.trackEvent( @@ -115,6 +114,6 @@ export const logEvent = ( } timeouts.set( key, - window.setTimeout(() => timeouts.delete(key), delay) + window.setTimeout(() => timeouts.delete(key), delaysPerEvent[name]) ); };