diff --git a/tracker/tracker-assist/.yarn/install-state.gz b/tracker/tracker-assist/.yarn/install-state.gz index ed8a78a12..c654a4eba 100644 Binary files a/tracker/tracker-assist/.yarn/install-state.gz and b/tracker/tracker-assist/.yarn/install-state.gz differ diff --git a/tracker/tracker-assist/CHANGELOG.md b/tracker/tracker-assist/CHANGELOG.md index 33481573f..490cdce76 100644 --- a/tracker/tracker-assist/CHANGELOG.md +++ b/tracker/tracker-assist/CHANGELOG.md @@ -1,3 +1,7 @@ +## 10.0.1 + +- some fixes for waitstatus usage + ## 10.0.0 - memory handling improvements to prevent possible leaks on sessions with multiple canvas nodes diff --git a/tracker/tracker-assist/package.json b/tracker/tracker-assist/package.json index a4175c257..1eb3ab49a 100644 --- a/tracker/tracker-assist/package.json +++ b/tracker/tracker-assist/package.json @@ -1,7 +1,7 @@ { "name": "@openreplay/tracker-assist", "description": "Tracker plugin for screen assistance through the WebRTC", - "version": "10.0.0", + "version": "10.0.1", "keywords": [ "WebRTC", "assistance", diff --git a/tracker/tracker-assist/src/Assist.ts b/tracker/tracker-assist/src/Assist.ts index 0e3e2bffd..ffc2f5db1 100644 --- a/tracker/tracker-assist/src/Assist.ts +++ b/tracker/tracker-assist/src/Assist.ts @@ -380,14 +380,17 @@ export default class Assist { if (this.app.active()) { this.assistDemandedRestart = true this.app.stop() - setTimeout(() => { - this.app.start().then(() => { this.assistDemandedRestart = false }) - .then(() => { - this.remoteControl?.reconnect(ids) - }) - .catch(e => app.debug.error(e)) - // TODO: check if it's needed; basically allowing some time for the app to finish everything before starting again - }, 400) + this.app.waitStatus(0) + .then(() => { + this.app.allowAppStart() + setTimeout(() => { + this.app.start().then(() => { this.assistDemandedRestart = false }) + .then(() => { + this.remoteControl?.reconnect(ids) + }) + .catch(e => app.debug.error(e)) + }, 100) + }) } }) diff --git a/tracker/tracker/CHANGELOG.md b/tracker/tracker/CHANGELOG.md index 6a2a33362..5c497b5a7 100644 --- a/tracker/tracker/CHANGELOG.md +++ b/tracker/tracker/CHANGELOG.md @@ -1,3 +1,7 @@ +## 14.0.14 + +- fixed crossdomain restart logic (when triggered via assist) + ## 14.0.13 - fixes for restart logic diff --git a/tracker/tracker/package.json b/tracker/tracker/package.json index e0b9b3dd8..b576a0c96 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.14-0", + "version": "14.0.14-10", "keywords": [ "logging", "replay" diff --git a/tracker/tracker/src/main/app/index.ts b/tracker/tracker/src/main/app/index.ts index 43881698e..3f7cba848 100644 --- a/tracker/tracker/src/main/app/index.ts +++ b/tracker/tracker/src/main/app/index.ts @@ -593,6 +593,10 @@ export default class App { return } const nextCommand = this.pollingQueue.order[0] + if (nextCommand && this.pollingQueue[nextCommand].length === 0) { + this.pollingQueue.order = this.pollingQueue.order.filter((c) => c !== nextCommand) + return + } if (this.pollingQueue[nextCommand].includes(data.context)) { this.pollingQueue[nextCommand] = this.pollingQueue[nextCommand].filter( (c: string) => c !== data.context, @@ -1762,12 +1766,10 @@ export default class App { this.stopCallbacks.forEach((cb) => cb()) this.tagWatcher.clear() if (this.worker && stopWorker) { - console.log('stop worker') this.worker.postMessage('stop') } this.canvasRecorder?.clear() this.messages.length = 0 - this.trackedFrames = [] this.parentActive = false this.canStart = false } finally {