diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a86dd21fb..48a4a0df3 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -251,6 +251,7 @@ jobs: name: "🎭 Playwright E2E Tests" needs: [go-test] runs-on: ubuntu-latest + timeout-minutes: 150 defaults: run: shell: bash diff --git a/test-slideover-1056-e2e.js b/test-slideover-1056-e2e.js index 4b4a14111..c4964d61c 100644 --- a/test-slideover-1056-e2e.js +++ b/test-slideover-1056-e2e.js @@ -56,6 +56,16 @@ const PAGES = [ // ---- Narrow viewport: slide-over MUST appear ---- for (const p of PAGES) { const ctx = await browser.newContext({ viewport: { width: 800, height: 800 } }); + if (p.name === 'packets') { + // The CI fixture is static: timestamps are freshened once before the + // server starts. The packets page defaults to a 15-min window, so rows + // vanish ~15 min into the job; 180 is the largest window packets.js + // keeps at <=1024px (larger values reset to 15). The e2e job's + // timeout-minutes keeps the run inside that window. + await ctx.addInitScript(() => { + try { localStorage.setItem('meshcore-time-window', '180'); } catch (_) {} + }); + } const page = await ctx.newPage(); page.setDefaultTimeout(8000); page.on('pageerror', (e) => console.error('[pageerror]', e.message));