From 0ecd4a62c5f86d0b8b6b2c512fa6c798ee3ae676 Mon Sep 17 00:00:00 2001 From: lianahus Date: Tue, 28 Sep 2021 14:57:41 +0200 Subject: [PATCH] track compile event only once per autocompile session --- .../src/lib/compiler-container.tsx | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx b/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx index f7390446eb..3356520b31 100644 --- a/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx +++ b/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx @@ -23,6 +23,7 @@ export const CompilerContainer = (props: CompilerContainerProps) => { const [state, setState] = useState({ hideWarnings: false, autoCompile: false, + matomoAutocompileOnce: true, optimize: false, compileTimeout: null, timeout: 300, @@ -69,7 +70,6 @@ export const CompilerContainer = (props: CompilerContainerProps) => { const optimize = params.optimize const runs = params.runs as string const evmVersion = params.evmVersion - return { ...prevState, hideWarnings: api.getAppParameter('hideWarnings') as boolean || false, @@ -135,6 +135,12 @@ export const CompilerContainer = (props: CompilerContainerProps) => { } }, [configurationSettings]) + const _retrieveVersion = (version?) => { + if (!version) version = state.selectedVersion + if (version === 'builtin') version = state.defaultVersion + return semver.coerce(version) ? semver.coerce(version).version : '' + } + // fetching both normal and wasm builds and creating a [version, baseUrl] map const fetchAllVersion = async (callback) => { let selectedVersion, allVersionsWasm, isURL @@ -281,7 +287,14 @@ export const CompilerContainer = (props: CompilerContainerProps) => { compileIcon.current.setAttribute('title', 'idle') compileIcon.current.classList.remove('remixui_spinningIcon') compileIcon.current.classList.remove('remixui_bouncingIcon') - _paq.push(['trackEvent', 'compiler', 'compiled_with_version', _retrieveVersion()]) + if (!state.autoCompile || (state.autoCompile && state.matomoAutocompileOnce)) { + _paq.push(['trackEvent', 'compiler', 'compiled_with_version', _retrieveVersion()]) + if (state.autoCompile && state.matomoAutocompileOnce) { + setState(prevState => { + return { ...prevState, matomoAutocompileOnce: false } + }) + } + } } const scheduleCompilation = () => { @@ -305,12 +318,6 @@ export const CompilerContainer = (props: CompilerContainerProps) => { compileTabLogic.runCompiler(hhCompilation) } - const _retrieveVersion = (version?) => { - if (!version) version = state.selectedVersion - if (version === 'builtin') version = state.defaultVersion - return semver.coerce(version) ? semver.coerce(version).version : '' - } - const _updateVersionSelector = (version, customUrl = '') => { // update selectedversion of previous one got filtered out let selectedVersion = version @@ -405,7 +412,7 @@ export const CompilerContainer = (props: CompilerContainerProps) => { api.setAppParameter('autoCompile', checked) checked && compile() setState(prevState => { - return { ...prevState, autoCompile: checked } + return { ...prevState, autoCompile: checked, matomoAutocompileOnce: state.matomoAutocompileOnce || checked } }) }