diff --git a/frontend/app/components/Client/Integrations/AssistDoc/AssistNpm.tsx b/frontend/app/components/Client/Integrations/AssistDoc/AssistNpm.tsx index b839a7557..ddec99aa5 100644 --- a/frontend/app/components/Client/Integrations/AssistDoc/AssistNpm.tsx +++ b/frontend/app/components/Client/Integrations/AssistDoc/AssistNpm.tsx @@ -17,7 +17,9 @@ import trackerAssist from '@openreplay/tracker-assist'; const tracker = new OpenReplay({ projectKey: '${props.projectKey}', }); -tracker.start(); +// .start() returns a promise +tracker.start().then(sessionData => ... ).catch(e => ... ) + tracker.use(trackerAssist(options)); // check the list of available options below`} } @@ -31,8 +33,9 @@ const tracker = new OpenReplay({ const trackerAssist = tracker.use(trackerAssist(options)); // check the list of available options below //... function MyApp() { - useEffect(() => { // use componentDidMount in case of React Class Component - tracker.start(); + useEffect(async () => { // use componentDidMount in case of React Class Component + // .start() returns a promise + tracker.start().then(sessionData => ... ).catch(e => ... ) }, []) //... }`} diff --git a/frontend/app/components/Client/Integrations/GraphQLDoc/GraphQLDoc.js b/frontend/app/components/Client/Integrations/GraphQLDoc/GraphQLDoc.js index 2f827eb1c..a5b184b01 100644 --- a/frontend/app/components/Client/Integrations/GraphQLDoc/GraphQLDoc.js +++ b/frontend/app/components/Client/Integrations/GraphQLDoc/GraphQLDoc.js @@ -37,7 +37,8 @@ import trackerGraphQL from '@openreplay/tracker-graphql'; const tracker = new OpenReplay({ projectKey: '${projectKey}' }); -tracker.start(); +// .start() returns a promise +tracker.start().then(sessionData => ... ).catch(e => ... ) //... export const recordGraphQL = tracker.use(trackerGraphQL());`} @@ -53,7 +54,8 @@ const tracker = new OpenReplay({ //... function SomeFunctionalComponent() { useEffect(() => { // or componentDidMount in case of Class approach - tracker.start(); + // .start() returns a promise + tracker.start().then(sessionData => ... ).catch(e => ... ) }, []) } //... diff --git a/frontend/app/components/Client/Integrations/MobxDoc/MobxDoc.js b/frontend/app/components/Client/Integrations/MobxDoc/MobxDoc.js index 99172ea46..fc34bb8f5 100644 --- a/frontend/app/components/Client/Integrations/MobxDoc/MobxDoc.js +++ b/frontend/app/components/Client/Integrations/MobxDoc/MobxDoc.js @@ -37,7 +37,9 @@ const tracker = new OpenReplay({ projectKey: '${projectKey}' }); tracker.use(trackerMobX()); // check list of available options below -tracker.start();`} +// .start() returns a promise +tracker.start().then(sessionData => ... ).catch(e => ... ); +`} } second={ @@ -52,7 +54,8 @@ tracker.use(trackerMobX()); // check list of available options below //... function SomeFunctionalComponent() { useEffect(() => { // or componentDidMount in case of Class approach - tracker.start(); + // .start() returns a promise + tracker.start().then(sessionData => ... ).catch(e => ... ) }, []) }`} diff --git a/frontend/app/components/Client/Integrations/NgRxDoc/NgRxDoc.js b/frontend/app/components/Client/Integrations/NgRxDoc/NgRxDoc.js index 65c7c10b6..64173d2ca 100644 --- a/frontend/app/components/Client/Integrations/NgRxDoc/NgRxDoc.js +++ b/frontend/app/components/Client/Integrations/NgRxDoc/NgRxDoc.js @@ -35,7 +35,8 @@ import trackerNgRx from '@openreplay/tracker-ngrx'; const tracker = new OpenReplay({ projectKey: '${projectKey}' }); -tracker.start(); +// .start() returns a promise +tracker.start().then(sessionData => ... ).catch(e => ... ) //... const metaReducers = [tracker.use(trackerNgRx())]; // check list of available options below //... @@ -58,7 +59,8 @@ const tracker = new OpenReplay({ //... function SomeFunctionalComponent() { useEffect(() => { // or componentDidMount in case of Class approach - tracker.start(); + // .start() returns a promise + tracker.start().then(sessionData => ... ).catch(e => ... ) }, []) //... const metaReducers = [tracker.use(trackerNgRx())]; // check list of available options below diff --git a/frontend/app/components/Client/Integrations/PiniaDoc/PiniaDoc.tsx b/frontend/app/components/Client/Integrations/PiniaDoc/PiniaDoc.tsx index 813f11e17..e4b9902c2 100644 --- a/frontend/app/components/Client/Integrations/PiniaDoc/PiniaDoc.tsx +++ b/frontend/app/components/Client/Integrations/PiniaDoc/PiniaDoc.tsx @@ -36,7 +36,8 @@ import trackerVuex from '@openreplay/tracker-vuex'; const tracker = new OpenReplay({ projectKey: '${projectKey}' }); -tracker.start(); +// .start() returns a promise +tracker.start().then(sessionData => ... ).catch(e => ... ) //... const examplePiniaStore = useExamplePiniaStore() // check list of available options below @@ -65,7 +66,8 @@ const tracker = new OpenReplay({ //... // start tracker when the app is mounted -tracker.start(); +// .start() returns a promise +tracker.start().then(sessionData => ... ).catch(e => ... ) //... const examplePiniaStore = useExamplePiniaStore() diff --git a/frontend/app/components/Client/Integrations/ProfilerDoc/ProfilerDoc.js b/frontend/app/components/Client/Integrations/ProfilerDoc/ProfilerDoc.js index 40b88cda7..9562682cf 100644 --- a/frontend/app/components/Client/Integrations/ProfilerDoc/ProfilerDoc.js +++ b/frontend/app/components/Client/Integrations/ProfilerDoc/ProfilerDoc.js @@ -33,7 +33,8 @@ import trackerProfiler from '@openreplay/tracker-profiler'; const tracker = new OpenReplay({ projectKey: '${projectKey}' }); -tracker.start(); +// .start() returns a promise +tracker.start().then(sessionData => ... ).catch(e => ... ) //... export const profiler = tracker.use(trackerProfiler()); //... @@ -53,7 +54,8 @@ const tracker = new OpenReplay({ //... function SomeFunctionalComponent() { useEffect(() => { // or componentDidMount in case of Class approach - tracker.start(); + // .start() returns a promise + tracker.start().then(sessionData => ... ).catch(e => ... ) }, []) //... export const profiler = tracker.use(trackerProfiler()); diff --git a/frontend/app/components/Client/Integrations/ReduxDoc/ReduxDoc.js b/frontend/app/components/Client/Integrations/ReduxDoc/ReduxDoc.js index b95c67e88..f4e133ab4 100644 --- a/frontend/app/components/Client/Integrations/ReduxDoc/ReduxDoc.js +++ b/frontend/app/components/Client/Integrations/ReduxDoc/ReduxDoc.js @@ -33,7 +33,8 @@ import trackerRedux from '@openreplay/tracker-redux'; const tracker = new OpenReplay({ projectKey: '${projectKey}' }); -tracker.start(); +// .start() returns a promise +tracker.start().then(sessionData => ... ).catch(e => ... ) //... const store = createStore( reducer, @@ -53,7 +54,8 @@ const tracker = new OpenReplay({ //... function SomeFunctionalComponent() { useEffect(() => { // or componentDidMount in case of Class approach - tracker.start(); + // .start() returns a promise + tracker.start().then(sessionData => ... ).catch(e => ... ) }, []) //... const store = createStore( diff --git a/frontend/app/components/Client/Integrations/VueDoc/VueDoc.js b/frontend/app/components/Client/Integrations/VueDoc/VueDoc.js index 1ffaea45b..d2371c9ef 100644 --- a/frontend/app/components/Client/Integrations/VueDoc/VueDoc.js +++ b/frontend/app/components/Client/Integrations/VueDoc/VueDoc.js @@ -36,7 +36,8 @@ import trackerVuex from '@openreplay/tracker-vuex'; const tracker = new OpenReplay({ projectKey: '${projectKey}' }); -tracker.start(); +// .start() returns a promise +tracker.start().then(sessionData => ... ).catch(e => ... ) //... const store = new Vuex.Store({ //... @@ -56,7 +57,8 @@ const tracker = new OpenReplay({ //... function SomeFunctionalComponent() { useEffect(() => { // or componentDidMount in case of Class approach - tracker.start(); + // .start() returns a promise + tracker.start().then(sessionData => ... ).catch(e => ... ) }, []) //... const store = new Vuex.Store({ diff --git a/frontend/app/components/Onboarding/components/OnboardingTabs/InstallDocs/InstallDocs.js b/frontend/app/components/Onboarding/components/OnboardingTabs/InstallDocs/InstallDocs.js index 031c7b2e8..e75a38e69 100644 --- a/frontend/app/components/Onboarding/components/OnboardingTabs/InstallDocs/InstallDocs.js +++ b/frontend/app/components/Onboarding/components/OnboardingTabs/InstallDocs/InstallDocs.js @@ -14,7 +14,8 @@ const tracker = new Tracker({ projectKey: "PROJECT_KEY", ingestPoint: "https://${window.location.hostname}/ingest", }); -tracker.start();`; +// .start() returns a promise +tracker.start().then(sessionData => ... ).catch(e => ... )`; const usageCodeSST = `import Tracker from '@openreplay/tracker/cjs'; const tracker = new Tracker({ @@ -24,7 +25,8 @@ const tracker = new Tracker({ function MyApp() { useEffect(() => { // use componentDidMount in case of React Class Component - tracker.start(); + // .start() returns a promise + tracker.start().then(sessionData => ... ).catch(e => ... ) }, []); //... diff --git a/frontend/app/components/shared/TrackingCodeModal/InstallDocs/InstallDocs.js b/frontend/app/components/shared/TrackingCodeModal/InstallDocs/InstallDocs.js index 1832c047c..0cdc61356 100644 --- a/frontend/app/components/shared/TrackingCodeModal/InstallDocs/InstallDocs.js +++ b/frontend/app/components/shared/TrackingCodeModal/InstallDocs/InstallDocs.js @@ -11,7 +11,9 @@ const tracker = new Tracker({ projectKey: "PROJECT_KEY", ingestPoint: "https://${window.location.hostname}/ingest", }); -tracker.start();` + +// .start() returns a promise +tracker.start().then(sessionData => ... ).catch(e => ... )` const usageCodeSST = `import Tracker from '@openreplay/tracker/cjs'; const tracker = new Tracker({ @@ -21,7 +23,8 @@ const tracker = new Tracker({ function MyApp() { useEffect(() => { // use componentDidMount in case of React Class Component - tracker.start(); + // .start() returns a promise + tracker.start().then(sessionData => ... ).catch(e => ... ) }, []); //... diff --git a/tracker/tracker-assist/README.md b/tracker/tracker-assist/README.md index ad265ab89..f04b69953 100644 --- a/tracker/tracker-assist/README.md +++ b/tracker/tracker-assist/README.md @@ -33,7 +33,8 @@ const tracker = new Tracker({ }); tracker.use(trackerAssist(options)); // check the list of available options below -tracker.start(); +// .start() returns a promise +tracker.start().then(sessionData => ... ).catch(e => ... ) ``` @@ -53,7 +54,8 @@ tracker.use(trackerAssist(options)); // check the list of available options belo //... function MyApp() { useEffect(() => { // use componentDidMount in case of React Class Component - tracker.start(); + // .start() returns a promise + tracker.start().then(sessionData => ... ).catch(e => ... ) }, []) //... } diff --git a/tracker/tracker-axios/README.md b/tracker/tracker-axios/README.md index f880a54a7..267aa9d3b 100644 --- a/tracker/tracker-axios/README.md +++ b/tracker/tracker-axios/README.md @@ -22,7 +22,8 @@ import trackerAxios from '@openreplay/tracker-axios'; const tracker = new Tracker({ projectKey: YOUR_PROJECT_KEY, }); -tracker.start(); +// .start() returns a promise +tracker.start().then(sessionData => ... ).catch(e => ... ) tracker.use(trackerAxios({ /* options here*/ })); ``` diff --git a/tracker/tracker-fetch/README.md b/tracker/tracker-fetch/README.md index 78b597fa9..fbec18836 100644 --- a/tracker/tracker-fetch/README.md +++ b/tracker/tracker-fetch/README.md @@ -26,7 +26,8 @@ const tracker = new OpenReplay({ }); const fetch = tracker.use(trackerFetch(options)); // check list of available options below -tracker.start(); +// .start() returns a promise +tracker.start().then(sessionData => ... ).catch(e => ... ) fetch('https://myapi.com/').then(response => console.log(response.json())); ``` @@ -47,7 +48,8 @@ const fetch = tracker.use(trackerFetch(options)); // check list of available opt //... function MyApp() { useEffect(() => { // use componentDidMount in case of React Class Component - tracker.start(); + // .start() returns a promise + tracker.start().then(sessionData => ... ).catch(e => ... ) fetch('https://myapi.com/').then(response => console.log(response.json())); }, []) diff --git a/tracker/tracker-profiler/README.md b/tracker/tracker-profiler/README.md index fb169d6f9..9c70d7e8c 100644 --- a/tracker/tracker-profiler/README.md +++ b/tracker/tracker-profiler/README.md @@ -21,7 +21,8 @@ import trackerProfiler from '@openreplay/tracker-profiler'; const tracker = new Tracker({ projectKey: YOUR_PROJECT_KEY, }); -tracker.start(); +// .start() returns a promise +tracker.start().then(sessionData => ... ).catch(e => ... ) export const profiler = tracker.plugin(trackerProfiler()); diff --git a/tracker/tracker/CHANGELOG.md b/tracker/tracker/CHANGELOG.md index 48e56bc6a..0fd5dc9c2 100644 --- a/tracker/tracker/CHANGELOG.md +++ b/tracker/tracker/CHANGELOG.md @@ -1,3 +1,7 @@ +# 14.0.4 + +- remove reject from start + # 14.0.3 - send integer instead of float for normalizedX/Y coords (basically moving from 0-100 to 0-10000 range) diff --git a/tracker/tracker/package.json b/tracker/tracker/package.json index 2f88367d1..ac8e58e72 100644 --- a/tracker/tracker/package.json +++ b/tracker/tracker/package.json @@ -1,7 +1,7 @@ { "name": "@openreplay/tracker", "description": "The OpenReplay tracker main package", - "version": "14.0.3", + "version": "14.0.4", "keywords": [ "logging", "replay" diff --git a/tracker/tracker/src/main/app/index.ts b/tracker/tracker/src/main/app/index.ts index 113a0c84a..87bb4db53 100644 --- a/tracker/tracker/src/main/app/index.ts +++ b/tracker/tracker/src/main/app/index.ts @@ -1221,18 +1221,18 @@ export default class App { condition: conditionName, assistOnly: startOpts.assistOnly ?? this.socketMode, width: window.screen.width, - height: window.screen.height - }), + height: window.screen.height, + }), }) if (r.status !== 200) { const error = await r.text() const reason = error === CANCELED ? CANCELED : `Server error: ${r.status}. ${error}` - return Promise.reject(reason) + return UnsuccessfulStart(reason) } if (!this.worker) { - const reason = 'no worker found after start request (this might not happen)' + const reason = 'no worker found after start request (this should not happen in real world)' this.signalError(reason, []) - return Promise.reject(reason) + return UnsuccessfulStart(reason) } const { token, @@ -1265,7 +1265,7 @@ export default class App { ) { const reason = `Incorrect server response: ${JSON.stringify(r)}` this.signalError(reason, []) - return Promise.reject(reason) + return UnsuccessfulStart(reason) } this.delay = delay