From 56d9340f963309dc9e8e89bf9b65e435be88d199 Mon Sep 17 00:00:00 2001 From: Claude Agent Date: Sun, 14 Jun 2026 17:55:00 +0000 Subject: [PATCH] =?UTF-8?q?fix(play.html):=20motor=20=C3=AEnainte=20de=20b?= =?UTF-8?q?oot=20=E2=80=94=20elimin=C4=83=20race=20=E2=80=9Emotor=20lips?= =?UTF-8?q?=C4=83"=20=C3=AEn=20Brave?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cauză: boot-ul (inflate hash → __runGame()) rula într-un + \ No newline at end of file diff --git a/tests/smoke.mjs b/tests/smoke.mjs index a0ad787..bbd4846 100644 --- a/tests/smoke.mjs +++ b/tests/smoke.mjs @@ -1695,22 +1695,29 @@ test.describe('Share: link + QR + player @share', () => { expect(errors).toHaveLength(0); }); - test('@share playerHTML() genereaza HTML cu inflate + script run + TPL', async ({ page }) => { + test('@share playerHTML() genereaza HTML cu inflate + motor inainte de boot + TPL', async ({ page }) => { const errors = trackErrors(page); await page.goto(fileURL('escape-builder.html')); const result = await page.evaluate(() => { if (typeof playerHTML !== 'function') return { err: 'playerHTML missing' }; const html = playerHTML(); + /* Motorul (window.__runGame) trebuie definit ÎNAINTE ca boot-ul să-l apeleze, ca să nu + * existe race de parsare (Brave dădea „motor lipsă" când await-ul din inflate se rezolva + * pe microtask înainte ca scriptul motor să fie parsat). */ return { hasInflate: html.includes('inflateFromBase64url'), - hasRunScript: html.includes('text/plain'), + hasRunGame: html.includes('window.__runGame=function'), + noLegacyInjection: !html.includes('text/plain'), + engineBeforeBoot: html.indexOf('window.__runGame=function') < html.indexOf('inflateFromBase64url(h)'), hasTPL: html.includes('var TPL'), len: html.length }; }); expect(result.err, 'error').toBeUndefined(); expect(result.hasInflate, 'inflate helper').toBe(true); - expect(result.hasRunScript, 'text/plain run script').toBe(true); + expect(result.hasRunGame, 'window.__runGame definit').toBe(true); + expect(result.noLegacyInjection, 'fara injectie dinamica text/plain').toBe(true); + expect(result.engineBeforeBoot, 'motorul definit inaintea boot-ului').toBe(true); expect(result.hasTPL, 'var TPL').toBe(true); expect(result.len).toBeGreaterThan(5000); expect(errors).toHaveLength(0);