diff --git a/frontend/app/player/web/assist/AssistManager.ts b/frontend/app/player/web/assist/AssistManager.ts index d7d1bfef4..1f01814d7 100644 --- a/frontend/app/player/web/assist/AssistManager.ts +++ b/frontend/app/player/web/assist/AssistManager.ts @@ -199,7 +199,8 @@ export default class AssistManager { socket.on('UPDATE_SESSION', (evData) => { const { meta = {}, data = {} } = evData const { tabId } = meta - const { active } = data + const usedData = this.assistVersion === 1 ? evData : data + const { active } = usedData const currentTab = this.store.get().currentTab this.clearDisconnectTimeout() !this.inactiveTimeout && this.setStatus(ConnectionStatus.Connected) @@ -208,6 +209,9 @@ export default class AssistManager { if (active) { this.setStatus(ConnectionStatus.Connected) } else { + if (tabId === undefined) { + this.inactiveTimeout = setTimeout(() => this.setStatus(ConnectionStatus.Inactive), 5000) + } if (tabId === currentTab) { this.inactiveTimeout = setTimeout(() => this.setStatus(ConnectionStatus.Inactive), 5000) } diff --git a/frontend/app/player/web/assist/Call.ts b/frontend/app/player/web/assist/Call.ts index 002697fad..ebd1ba846 100644 --- a/frontend/app/player/web/assist/Call.ts +++ b/frontend/app/player/web/assist/Call.ts @@ -22,6 +22,7 @@ export interface State { } export default class Call { + private assistVersion = 1 static readonly INITIAL_STATE: Readonly = { calling: CallingState.NoCall } @@ -65,6 +66,7 @@ export default class Call { socket.on("disconnect", () => { this.store.update({ calling: CallingState.NoCall }) }) + this.assistVersion = this.getAssistVersion() } private getPeer(): Promise { diff --git a/frontend/app/player/web/assist/RemoteControl.ts b/frontend/app/player/web/assist/RemoteControl.ts index fd62315d1..aa5690e86 100644 --- a/frontend/app/player/web/assist/RemoteControl.ts +++ b/frontend/app/player/web/assist/RemoteControl.ts @@ -16,6 +16,7 @@ export interface State { } export default class RemoteControl { + private assistVersion = 1 static readonly INITIAL_STATE: Readonly = { remoteControl: RemoteControlStatus.Disabled, annotating: false, @@ -48,6 +49,7 @@ export default class RemoteControl { socket.on("error", () => { this.toggleRemoteControl(false) }) + this.assistVersion = getAssistVersion() } private onMouseMove = (e: MouseEvent): void => { diff --git a/frontend/app/player/web/assist/ScreenRecording.ts b/frontend/app/player/web/assist/ScreenRecording.ts index c5633d92b..3ef140729 100644 --- a/frontend/app/player/web/assist/ScreenRecording.ts +++ b/frontend/app/player/web/assist/ScreenRecording.ts @@ -37,6 +37,8 @@ export default class ScreenRecording { socket.on('recording_busy', () => { this.onRecordingBusy() }) + + this.assistVersion = getAssistVersion() } private onRecordingBusy = () => {