diff --git a/frontend/app/components/Session/WebPlayer.tsx b/frontend/app/components/Session/WebPlayer.tsx index eb8e28fa9..b7e052140 100644 --- a/frontend/app/components/Session/WebPlayer.tsx +++ b/frontend/app/components/Session/WebPlayer.tsx @@ -103,11 +103,12 @@ function WebPlayer(props: any) { } }, [session.sessionId]); + const domFiles = session?.domURL?.length ?? 0 useEffect(() => { - if (!props.prefetched && session.domURL.length > 0) { + if (!props.prefetched && domFiles > 0) { playerInst?.reinit(session); } - }, [session.domURL.length, props.prefetched]); + }, [session, domFiles, props.prefetched]); const { firstVisualEvent: visualOffset, diff --git a/frontend/app/mstore/types/session.ts b/frontend/app/mstore/types/session.ts index ba7d73882..0a855ea23 100644 --- a/frontend/app/mstore/types/session.ts +++ b/frontend/app/mstore/types/session.ts @@ -15,6 +15,7 @@ function hashString(s: string): number { } export default class Session { + intertag = "_mobx" sessionId: string = ""; viewed: boolean = false duration: number = 0 @@ -31,6 +32,9 @@ export default class Session { eventsCount: number = 0 userNumericHash: number = 0 userDisplayName: string = "" + canvasURL: string[] = [] + domURL: string[] = [] + devtoolsURL: string[] = [] constructor() { makeAutoObservable(this, { diff --git a/frontend/app/player/web/TabManager.ts b/frontend/app/player/web/TabManager.ts index 56f87adf3..37f7bf5a2 100644 --- a/frontend/app/player/web/TabManager.ts +++ b/frontend/app/player/web/TabManager.ts @@ -175,6 +175,7 @@ export default class TabSessionManager { if (!this.canvasManagers[managerId]) { const fileId = managerId; const delta = msg.timestamp - this.sessionStart; + const canvasNodeLinks = this.session.canvasURL.filter((url: string) => url.includes(fileId)) as string[]; const tarball = canvasNodeLinks.find((url: string) => url.includes('.tar.')); const mp4file = canvasNodeLinks.find((url: string) => url.includes('.mp4')); diff --git a/frontend/app/player/web/WebPlayer.ts b/frontend/app/player/web/WebPlayer.ts index 2140b15be..ac447b5c5 100644 --- a/frontend/app/player/web/WebPlayer.ts +++ b/frontend/app/player/web/WebPlayer.ts @@ -100,7 +100,6 @@ export default class WebPlayer extends Player { this.targetMarker = new TargetMarker(this.screen, this.wpState) this.inspectorController = new InspectorController(this.screen, this.wpState) - const endTime = session.duration?.valueOf() || 0 this.wpState.update({ //@ts-ignore diff --git a/frontend/app/types/session/session.ts b/frontend/app/types/session/session.ts index 3f7e2991a..f47a51e37 100644 --- a/frontend/app/types/session/session.ts +++ b/frontend/app/types/session/session.ts @@ -310,7 +310,6 @@ export default class Session { frustrationIssues ).sort(sortEvents) - console.log(session.platform) Object.assign(this, { ...session, isMobileNative: ['ios', 'android'].includes(session.platform),