Unverified Commit 13f961da authored by Rob's avatar Rob Committed by GitHub

Merge pull request #1635 from ethereum/m10

track compile event only once per autocompile session
parents 21fe63a7 23f9bb57
......@@ -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
......@@ -384,7 +391,7 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
const handleLoadVersion = (value) => {
setState(prevState => {
return { ...prevState, selectedVersion: value }
return { ...prevState, selectedVersion: value, matomoAutocompileOnce: true }
})
updateCurrentVersion(value)
_updateVersionSelector(value)
......@@ -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 }
})
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment