diff --git a/package-lock.json b/package-lock.json index 22f3b76..d2eb2a3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "electron-squirrel-startup": "^1.0.0", "js-yaml": "^4.0.0 ", "mlg-converter": "^0.5.0", + "pako": "^1.0.11", "parsimmon": "^1.16.0", "react": "^17.0.1", "react-dom": "^17.0.2", @@ -33,6 +34,7 @@ "@electron-forge/maker-zip": "^6.0.0-beta.54", "@types/js-yaml": "^4.0.0", "@types/node": "^14.14.37", + "@types/pako": "^1.0.1", "@types/parsimmon": "^1.10.6", "@types/react": "^17.0.3", "@types/react-dom": "^17.0.3", @@ -3377,6 +3379,12 @@ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" }, + "node_modules/@types/pako": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-1.0.1.tgz", + "integrity": "sha512-GdZbRSJ3Cv5fiwT6I0SQ3ckeN2PWNqxd26W9Z2fCK1tGrrasGy4puvNFtnddqH9UJFMQYXxEuuB7B8UK+LLwSg==", + "dev": true + }, "node_modules/@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", @@ -28960,6 +28968,12 @@ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" }, + "@types/pako": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-1.0.1.tgz", + "integrity": "sha512-GdZbRSJ3Cv5fiwT6I0SQ3ckeN2PWNqxd26W9Z2fCK1tGrrasGy4puvNFtnddqH9UJFMQYXxEuuB7B8UK+LLwSg==", + "dev": true + }, "@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", diff --git a/package.json b/package.json index d6c2adf..1b1b0af 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "electron-squirrel-startup": "^1.0.0", "js-yaml": "^4.0.0 ", "mlg-converter": "^0.5.0", + "pako": "^1.0.11", "parsimmon": "^1.16.0", "react": "^17.0.1", "react-dom": "^17.0.2", @@ -60,6 +61,7 @@ "@electron-forge/maker-zip": "^6.0.0-beta.54", "@types/js-yaml": "^4.0.0", "@types/node": "^14.14.37", + "@types/pako": "^1.0.1", "@types/parsimmon": "^1.10.6", "@types/react": "^17.0.3", "@types/react-dom": "^17.0.3", diff --git a/public/logs/long.mlg b/public/logs/long.mlg deleted file mode 100644 index e05f5d2..0000000 Binary files a/public/logs/long.mlg and /dev/null differ diff --git a/public/logs/long.mlg.gz b/public/logs/long.mlg.gz new file mode 100644 index 0000000..597434e Binary files /dev/null and b/public/logs/long.mlg.gz differ diff --git a/public/logs/longest.mlg b/public/logs/longest.mlg deleted file mode 100644 index d13d82b..0000000 Binary files a/public/logs/longest.mlg and /dev/null differ diff --git a/public/logs/longest.mlg.gz b/public/logs/longest.mlg.gz new file mode 100644 index 0000000..3bdc7b9 Binary files /dev/null and b/public/logs/longest.mlg.gz differ diff --git a/public/logs/middle.mlg b/public/logs/middle.mlg deleted file mode 100644 index 8d8dc6c..0000000 Binary files a/public/logs/middle.mlg and /dev/null differ diff --git a/public/logs/middle.mlg.gz b/public/logs/middle.mlg.gz new file mode 100644 index 0000000..c0a6577 Binary files /dev/null and b/public/logs/middle.mlg.gz differ diff --git a/src/components/Log.tsx b/src/components/Log.tsx index 7965292..683d01c 100644 --- a/src/components/Log.tsx +++ b/src/components/Log.tsx @@ -129,6 +129,7 @@ const Log = ({ ui, config }: { ui: UIState, config: Config }) => { }; } catch (error) { setFetchError(error); + throw error; } }; diff --git a/src/utils/api.ts b/src/utils/api.ts index c99f00c..dacbd2c 100644 --- a/src/utils/api.ts +++ b/src/utils/api.ts @@ -78,5 +78,11 @@ export const loadAll = async () => { }); }; -export const loadLogs = (onProgress?: onProgressType, signal?: AbortSignal) => fetchWithProgress('./logs/longest.mlg', onProgress, signal) - .then((response) => response); +export const loadLogs = (onProgress?: onProgressType, signal?: AbortSignal) => + fetchWithProgress( + // 'https://speedytuner-cloud.s3.eu-west-2.amazonaws.com/logs/longest.mlg.gz', + 'https://d29mjpbgm6k6md.cloudfront.net/logs/longest.mlg.gz', + onProgress, + signal, + ) + .then((response) => response); diff --git a/src/workers/mlgParser.worker.ts b/src/workers/mlgParser.worker.ts index 25c6ddb..d66f66d 100644 --- a/src/workers/mlgParser.worker.ts +++ b/src/workers/mlgParser.worker.ts @@ -1,15 +1,16 @@ /* eslint-disable no-bitwise */ import { Parser } from 'mlg-converter'; +import pako from 'pako'; // eslint-disable-next-line no-restricted-globals const ctx: Worker = self as any; ctx.addEventListener('message', ({ data }: { data: ArrayBuffer }) => { - const t0 = performance.now(); - try { - const result = new Parser(data).parse((progress) => { + const t0 = performance.now(); + const buff = pako.inflate(new Uint8Array(data)).buffer; + const result = new Parser(buff).parse((progress) => { ctx.postMessage({ type: 'progress', progress, @@ -24,5 +25,6 @@ ctx.addEventListener('message', ({ data }: { data: ArrayBuffer }) => { ctx.postMessage({ type: 'result', result }); } catch (error) { ctx.postMessage({ type: 'error', error }); + throw error; } });