From d7b79475a44cdf959df09f84fd34b1ac46c0fb18 Mon Sep 17 00:00:00 2001 From: Delirium Date: Mon, 25 Mar 2024 17:43:20 +0100 Subject: [PATCH] fix(ui): fix player file waiting (#1994) --- frontend/app/player/web/MessageLoader.ts | 30 ++++++++++++------------ 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/frontend/app/player/web/MessageLoader.ts b/frontend/app/player/web/MessageLoader.ts index f3230301e..d76ce3456 100644 --- a/frontend/app/player/web/MessageLoader.ts +++ b/frontend/app/player/web/MessageLoader.ts @@ -39,8 +39,8 @@ export default class MessageLoader { ) { const decrypt = shouldDecrypt && this.session.fileKey - ? (b: Uint8Array) => decryptSessionBytes(b, this.session.fileKey!) - : (b: Uint8Array) => Promise.resolve(b); + ? (b: Uint8Array) => decryptSessionBytes(b, this.session.fileKey!) + : (b: Uint8Array) => Promise.resolve(b); const fileReader = new MFileReader(new Uint8Array(), this.session.startedAt); return async (b: Uint8Array) => { try { @@ -190,7 +190,6 @@ export default class MessageLoader { this.messageManager.onFileReadFailed(sessionLoadError, unprocessedLoadError); } } finally { - this.messageManager.onFileReadFinally(); this.store.update({ domLoading: false, devtoolsLoading: false }); } } @@ -198,14 +197,14 @@ export default class MessageLoader { loadMobs = async () => { const loadMethod = this.session.domURL && this.session.domURL.length > 0 - ? { - mobUrls: this.session.domURL, - parser: () => this.createNewParser(true, this.processMessages, 'dom'), - } - : { - mobUrls: this.session.mobsUrl, - parser: () => this.createNewParser(false, this.processMessages, 'dom'), - }; + ? { + mobUrls: this.session.domURL, + parser: () => this.createNewParser(true, this.processMessages, 'dom'), + } + : { + mobUrls: this.session.mobsUrl, + parser: () => this.createNewParser(false, this.processMessages, 'dom'), + }; const parser = loadMethod.parser(); const devtoolsParser = this.createNewParser(true, this.processMessages, 'devtools'); @@ -218,6 +217,7 @@ export default class MessageLoader { * for the devtools file * */ await loadFiles([loadMethod.mobUrls[0]], parser); + this.messageManager.onFileReadFinally(); const restDomFilesPromise = this.loadDomFiles([...loadMethod.mobUrls.slice(1)], parser); const restDevtoolsFilesPromise = this.loadDevtools(devtoolsParser); @@ -238,12 +238,12 @@ export default class MessageLoader { const devtoolsParser = this.createNewParser(false, this.processMessages, 'devtoolsEFS'); const parseDomPromise: Promise = domData.status === 'fulfilled' - ? domParser(domData.value) - : Promise.reject('No dom file in EFS'); + ? domParser(domData.value) + : Promise.reject('No dom file in EFS'); const parseDevtoolsPromise: Promise = devtoolsData.status === 'fulfilled' - ? devtoolsParser(devtoolsData.value) - : Promise.reject('No devtools file in EFS'); + ? devtoolsParser(devtoolsData.value) + : Promise.reject('No devtools file in EFS'); await Promise.all([parseDomPromise, parseDevtoolsPromise]); this.messageManager.onFileReadSuccess();