From 9fc6adeb2402b2431dd157a9413bc2d613779840 Mon Sep 17 00:00:00 2001 From: Xuan Son Nguyen Date: Fri, 13 Dec 2024 18:19:12 +0100 Subject: [PATCH] fix gzip non deterministic --- examples/server/public/index.html.gz | Bin 1203539 -> 1203539 bytes examples/server/webui/vite.config.js | 9 +++++++++ 2 files changed, 9 insertions(+) diff --git a/examples/server/public/index.html.gz b/examples/server/public/index.html.gz index b01cd31083cb18b4b919d69967694f86588ae330..fc119561ba7da2869d7ee1ef55ba54f6b4851923 100644 GIT binary patch delta 75 zcmWm3xdA{x002S1vwjVz=Za8_U?cTNv~dk#(n(KDPh`JB_A9az$)%7|DygNBR)Tc$ QZ7+k2GRZ89tT$UcUY;-zg#Z8m delta 75 zcmWm3xdA{x002S1vwjLt&lRBC%oj`CU!su^m;e9( diff --git a/examples/server/webui/vite.config.js b/examples/server/webui/vite.config.js index 093f92267..6619a630d 100644 --- a/examples/server/webui/vite.config.js +++ b/examples/server/webui/vite.config.js @@ -30,6 +30,15 @@ const BUILD_PLUGINS = [ const content = GUIDE_FOR_FRONTEND + '\n' + fs.readFileSync(outputIndexHtml, 'utf-8'); const compressed = zlib.gzipSync(Buffer.from(content, 'utf-8'), { level: 9 }); + // because gzip header contains machine-specific info, we must remove these data from the header + // timestamp + compressed[0x4] = 0; + compressed[0x5] = 0; + compressed[0x6] = 0; + compressed[0x7] = 0; + // OS + compressed[0x9] = 0; + if (compressed.byteLength > MAX_BUNDLE_SIZE) { throw new Error( `Bundle size is too large (${Math.ceil(compressed.byteLength / 1024)} KB).\n` +