1818 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1919 */
2020import { setEditorTheme } from 'neo4j-arc/cypher-language-support'
21- import React , { useCallback , useEffect , useRef } from 'react'
21+ import React , { useEffect , useRef } from 'react'
2222import { connect } from 'react-redux'
2323import { withBus } from 'react-suber'
2424import { ThemeProvider } from 'styled-components'
@@ -96,10 +96,6 @@ import {
9696 updateUdcData
9797} from 'shared/modules/udc/udcDuck'
9898import { getTelemetrySettings } from 'shared/utils/selectors'
99- import {
100- PREVIEW_EVENT ,
101- trackPageLoad
102- } from 'shared/modules/preview/previewDuck'
10399
104100export const MAIN_WRAPPER_DOM_ID = 'MAIN_WRAPPER_DOM_ID'
105101
@@ -123,56 +119,36 @@ export function App(props: any) {
123119 const eventMetricsCallback = useRef ( ( _ : MetricsData ) => _ )
124120 const segmentTrackCallback = useRef ( ( _ : MetricsData ) => _ )
125121
126- const invokeTrackingCallbacks = useCallback (
127- ( { category, label, data } : MetricsData ) => {
128- if ( ! isRunningE2ETest ( ) && props . telemetrySettings . allowUserStats ) {
129- const extendedData = {
130- browserVersion : version ,
131- neo4jEdition : props . edition ,
132- connectedTo : props . connectedTo ,
133- ...data
134- }
135-
136- eventMetricsCallback &&
137- eventMetricsCallback . current &&
138- eventMetricsCallback . current ( { category, label, data : extendedData } )
139-
140- segmentTrackCallback &&
141- segmentTrackCallback . current &&
142- segmentTrackCallback . current ( { category, label, data : extendedData } )
143- }
144- } ,
145- [ props . telemetrySettings . allowUserStats ]
146- )
147-
148- useEffect ( ( ) => {
149- const unsub =
150- props . bus &&
151- props . bus . take ( METRICS_EVENT , ( metricsData : MetricsData ) => {
152- invokeTrackingCallbacks ( metricsData )
153- } )
154- return ( ) => unsub && unsub ( )
155- } , [ props . bus , invokeTrackingCallbacks ] )
156-
157122 useEffect ( ( ) => {
158123 const unsub =
159124 props . bus &&
160- props . bus . take ( PREVIEW_EVENT , ( metricsData : MetricsData ) => {
161- invokeTrackingCallbacks ( metricsData )
162- } )
125+ props . bus . take (
126+ METRICS_EVENT ,
127+ ( { category, label, data : originalData } : MetricsData ) => {
128+ if ( ! isRunningE2ETest ( ) && props . telemetrySettings . allowUserStats ) {
129+ const data = {
130+ browserVersion : version ,
131+ neo4jEdition : props . edition ,
132+ connectedTo : props . connectedTo ,
133+ ...originalData
134+ }
135+ eventMetricsCallback &&
136+ eventMetricsCallback . current &&
137+ eventMetricsCallback . current ( { category, label, data } )
138+ segmentTrackCallback &&
139+ segmentTrackCallback . current &&
140+ segmentTrackCallback . current ( { category, label, data } )
141+ }
142+ }
143+ )
163144 return ( ) => unsub && unsub ( )
164- } , [ props . bus , invokeTrackingCallbacks ] )
145+ } , [ props . telemetrySettings . allowUserStats , props . bus ] )
165146
166147 useEffect ( ( ) => {
167148 const initAction = udcInit ( )
168149 props . bus && props . bus . send ( initAction . type , initAction )
169150 } , [ props . bus ] )
170151
171- useEffect ( ( ) => {
172- const pageLoadAction = trackPageLoad ( )
173- props . bus && props . bus . send ( pageLoadAction . type , pageLoadAction )
174- } , [ props . bus , props . telemetrySettings . allowUserStats ] )
175-
176152 const {
177153 browserSyncAuthStatus,
178154 browserSyncConfig,
@@ -205,7 +181,6 @@ export function App(props: any) {
205181 } , [ titleString ] )
206182
207183 const wrapperClassNames = codeFontLigatures ? '' : 'disable-font-ligatures'
208-
209184 return (
210185 < ErrorBoundary >
211186 < DesktopApi
0 commit comments