From f81395012ab35312864db9884758e22fc4550bf4 Mon Sep 17 00:00:00 2001 From: nick-delirium Date: Thu, 31 Oct 2024 17:45:55 +0100 Subject: [PATCH] tracker: carry old startopts to ensure consistent restart behavior --- tracker/tracker/src/main/app/index.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tracker/tracker/src/main/app/index.ts b/tracker/tracker/src/main/app/index.ts index 3f7cba848..13baebd1c 100644 --- a/tracker/tracker/src/main/app/index.ts +++ b/tracker/tracker/src/main/app/index.ts @@ -71,7 +71,7 @@ interface OnStartInfo { * this value is injected during build time via rollup * */ // @ts-ignore -const workerBodyFn = WEBWORKER_BODY +const workerBodyFn = global.WEBWORKER_BODY const CANCELED = 'canceled' as const const uxtStorageKey = 'or_uxt_active' const bufferStorageKey = 'or_buffer_1' @@ -762,7 +762,7 @@ export default class App { } else if (data === 'a_start') { this.waitStatus(ActivityState.NotActive).then(() => { this.allowAppStart() - this.start({}, true) + this.start(this.prevOpts, true) .then((r) => { this.debug.info('Worker restarted, session was too long', r) }) @@ -1351,11 +1351,15 @@ export default class App { this.clearBuffers() } + prevOpts: StartOptions = {} private async _start( startOpts: StartOptions = {}, resetByWorker = false, conditionName?: string, ): Promise { + if (Object.keys(startOpts).length !== 0) { + this.prevOpts = startOpts + } const isColdStart = this.activityState === ActivityState.ColdStart if (isColdStart && this.coldInterval) { clearInterval(this.coldInterval)