$ sh /private/tmp/claude-501/-Users-king-Desktop-Workspace-SRO/30a0bda4-10e1-4565-9753-29db161e9005/scratchpad/e2e.sh # cwd /Users/king/Desktop/Workspace/SRO/zoen # exit 1 > @zoen/site@0.1.0 e2e /Users/king/Desktop/Workspace/SRO/zoen/apps/site > ZOEN_DEV_PAGES=1 next build && ZOEN_DEV_PAGES=1 playwright test ▲ Next.js 16.3.8 (Turbopack) - Environments: .env.local ✓ Running next.config.ts took 82ms - Cache Components enabled - Experiments (use with caution): · serverActions Creating an optimized production build ... ✓ Compiled successfully in 33.1s Running TypeScript ... Finished TypeScript in 46s ... Collecting page data using 7 workers ... Generating static pages using 7 workers (0/76) ... Generating static pages using 7 workers (19/76) Generating static pages using 7 workers (38/76) Generating static pages using 7 workers (57/76) ✓ Generating static pages using 7 workers (76/76) in 13.1s Finalizing page optimization ... Route (app) Revalidate Expire ┌ ○ / 2m 15m ├ ○ /_not-found 2m 15m ├ ○ /alpha 2m 15m ├ ƒ /api/e ├ ƒ /api/revalidate ├ ○ /apple-icon.png ├ ○ /community 2m 15m ├ ○ /cookies 2m 15m ├ ○ /dev/directions 2m 15m ├ ○ /dev/directions/a 2m 15m ├ ○ /dev/directions/b 2m 15m ├ ○ /dev/directions/c 2m 15m ├ ○ /dev/kit 2m 15m ├ ○ /download 2m 15m ├ ○ /faq 2m 15m ├ ○ /game 2m 15m ├ ○ /game/builds 2m 15m ├ /game/builds/[slug] 2m 15m │ ├ ◐ /game/builds/[slug] 2m 15m │ ├ ○ /game/builds/ravager 2m 15m │ ├ ○ /game/builds/warblade 2m 15m │ └ ◐ [+16 more paths] ├ ƒ /game/builds/[slug]/opengraph-image ├ ○ /game/world 2m 15m ├ ○ /how-to-play 2m 15m ├ ○ /icon.png ├ ○ /maintenance 2m 15m ├ ○ /manifest.webmanifest ├ ○ /media 2m 15m ├ ○ /news 2m 15m ├ /news/[slug] 2m 15m │ └ ◐ /news/[slug] 2m 15m ├ ƒ /opengraph-image ├ ○ /patch-notes 2m 15m ├ ○ /play 2m 15m ├ ◐ /preregister/confirm 2m 15m ├ ○ /privacy 2m 15m ├ ○ /roadmap 2m 15m ├ ○ /robots.txt ├ ○ /sitemap.xml 2m 15m ├ ◐ /status 2m 15m ├ ○ /support 2m 15m ├ ○ /terms 2m 15m └ ◐ /unsubscribe 2m 15m ƒ Proxy (Middleware) ○ (Static) prerendered as static content ◐ (Partial Prerender) prerendered as static HTML with dynamic server-streamed content ƒ (Dynamic) server-rendered on demand Running 96 tests using 2 workers ✓ 1 [desktop] › tests/e2e/chronicle.spec.ts:9:3 › chronicle › @fx the hero art is a real image; the WebGL layer joins it only on wide screens with WebGL 2 (16.6s) ✓ 3 [desktop] › tests/e2e/chronicle.spec.ts:23:3 › chronicle › @fx reduced motion gets the static site: no WebGL layers start (12.0s) ✓ 4 [desktop] › tests/e2e/chronicle.spec.ts:36:3 › chronicle › @stage choosing a path and a build changes the stage; the build link follows (12.0s) ✓ 5 [desktop] › tests/e2e/chronicle.spec.ts:49:3 › chronicle › @world the basin card follows the chosen area; wide screens with WebGL 2 get the 3D diorama (33.2s) ✓ 6 [desktop] › tests/e2e/chronicle.spec.ts:66:3 › chronicle › @loot rolling a drop changes the item or its rarity; the popup names both (5.2s) ✓ 7 [desktop] › tests/e2e/chronicle.spec.ts:75:3 › chronicle › @shelf the field guide pages with its buttons, which disable at the ends (8.2s) ✓ 8 [desktop] › tests/e2e/chronicle.spec.ts:85:3 › chronicle › @media the gallery opens a viewer that steps with the arrow keys and closes with Escape (6.7s) ✓ 9 [desktop] › tests/e2e/chronicle.spec.ts:100:3 › chronicle › @rail the chapter rail marks the chapter on screen (wide desktops) (12.5s) ✓ 10 [desktop] › tests/e2e/chronicle.spec.ts:108:3 › chronicle › @seo the home page has its own share card (7.9s) ✓ 2 [desktop] › tests/e2e/content.spec.ts:15:3 › content pages › @content every content page renders cleanly on every screen size (2.5m) ✓ 12 [desktop] › tests/e2e/content.spec.ts:29:3 › content pages › @publish a post and a FAQ published in the database appear after the signed refresh; search finds the FAQ (12.1s) ✓ 11 [desktop] › tests/e2e/chronicle.spec.ts:117:3 › chronicle › @pages the new chronicle pages are clean on every screen size (57.9s) ✓ 14 [desktop] › tests/e2e/game.spec.ts:5:3 › game pages › @game overview, builds index, a build page, world and how to play render cleanly (38.6s) ✓ 15 [desktop] › tests/e2e/game.spec.ts:18:3 › game pages › @game all 18 builds are listed; sealed skills show as Coming soon; share images exist (2.5s) ✓ 16 [desktop] › tests/e2e/game.spec.ts:31:3 › game pages › @game the world lists every area with its creatures (3.3s) ✓ 17 [desktop] › tests/e2e/home.spec.ts:11:3 › home › @home every section renders; the chain fires; paths switch; clips load on click (30.0s) ✓ 18 [desktop] › tests/e2e/home.spec.ts:39:3 › home › @signup the registry: double opt-in by e-mail, confirmed only by a button press (11.4s) ✓ 13 [desktop] › tests/e2e/directions.spec.ts:28:3 › @directions a: clean render, screenshots and a scroll clip (1.9m) ✓ 20 [desktop] › tests/e2e/directions.spec.ts:28:3 › @directions b: clean render, screenshots and a scroll clip (1.7m) ✓ 19 [desktop] › tests/e2e/home.spec.ts:66:3 › home › @clip home screenshots and a 10 s scroll-through (2.0m) ✓ 22 [desktop] › tests/e2e/kit.spec.ts:6:1 › @kit sprites are bundled (fingerprinted) and utilities override kit layout (13.8s) ✓ 23 [desktop] › tests/e2e/shell.spec.ts:9:1 › @shell header, footer and security headers; the site sets no cookies (10.8s) ✓ 24 [desktop] › tests/e2e/shell.spec.ts:32:1 › @shell 404 page is themed and has a way home (7.0s) ✓ 25 [desktop] › tests/e2e/shell.spec.ts:39:1 › @revalidate the publish webhook accepts only fresh, signed, unique requests (343ms) ✓ 26 [desktop] › tests/e2e/smoke.spec.ts:4:1 › @smoke home renders the game name without errors or sideways scroll (23.7s) ✓ 27 [desktop] › tests/e2e/smoke.spec.ts:15:1 › @smoke 360 px phones have no sideways scroll (10.9s) ✓ 28 [desktop] › tests/e2e/support.spec.ts:11:3 › support center › @support a bug report with a screenshot is stored, and the stored image has no metadata (15.9s) ✓ 29 [desktop] › tests/e2e/support.spec.ts:40:3 › support center › @support a ban review needs the ban id, then gets a reference (12.8s) ✘ 30 [desktop] › tests/e2e/support.spec.ts:61:3 › support center › @analytics page views are counted without cookies; Do Not Track is respected (56.6s) ✓ 31 [desktop] › tests/e2e/support.spec.ts:87:3 › support center › @seo sitemap and robots (13.1s) ✓ 32 [desktop] › tests/e2e/support.spec.ts:97:3 › support center › @support page is clean on every screen size (16.7s) ✓ 33 [tablet] › tests/e2e/chronicle.spec.ts:9:3 › chronicle › @fx the hero art is a real image; the WebGL layer joins it only on wide screens with WebGL 2 (16.8s) - 34 [tablet] › tests/e2e/chronicle.spec.ts:23:3 › chronicle › @fx reduced motion gets the static site: no WebGL layers start ✓ 35 [tablet] › tests/e2e/chronicle.spec.ts:36:3 › chronicle › @stage choosing a path and a build changes the stage; the build link follows (9.9s) ✘ 21 [desktop] › tests/e2e/directions.spec.ts:28:3 › @directions c: clean render, screenshots and a scroll clip (5.0m) ✓ 36 [tablet] › tests/e2e/chronicle.spec.ts:49:3 › chronicle › @world the basin card follows the chosen area; wide screens with WebGL 2 get the 3D diorama (7.8s) ✓ 38 [tablet] › tests/e2e/chronicle.spec.ts:66:3 › chronicle › @loot rolling a drop changes the item or its rarity; the popup names both (6.9s) ✓ 39 [tablet] › tests/e2e/chronicle.spec.ts:75:3 › chronicle › @shelf the field guide pages with its buttons, which disable at the ends (8.2s) ✓ 40 [tablet] › tests/e2e/chronicle.spec.ts:85:3 › chronicle › @media the gallery opens a viewer that steps with the arrow keys and closes with Escape (12.1s) - 41 [tablet] › tests/e2e/chronicle.spec.ts:100:3 › chronicle › @rail the chapter rail marks the chapter on screen (wide desktops) - 42 [tablet] › tests/e2e/chronicle.spec.ts:108:3 › chronicle › @seo the home page has its own share card ✓ 43 [tablet] › tests/e2e/chronicle.spec.ts:117:3 › chronicle › @pages the new chronicle pages are clean on every screen size (50.3s) - 44 [tablet] › tests/e2e/directions.spec.ts:28:3 › @directions a: clean render, screenshots and a scroll clip - 45 [tablet] › tests/e2e/directions.spec.ts:28:3 › @directions b: clean render, screenshots and a scroll clip - 46 [tablet] › tests/e2e/directions.spec.ts:28:3 › @directions c: clean render, screenshots and a scroll clip ✓ 37 [tablet] › tests/e2e/content.spec.ts:15:3 › content pages › @content every content page renders cleanly on every screen size (1.6m) - 48 [tablet] › tests/e2e/content.spec.ts:29:3 › content pages › @publish a post and a FAQ published in the database appear after the signed refresh; search finds the FAQ ✓ 49 [tablet] › tests/e2e/home.spec.ts:11:3 › home › @home every section renders; the chain fires; paths switch; clips load on click (27.4s) ✓ 47 [tablet] › tests/e2e/game.spec.ts:5:3 › game pages › @game overview, builds index, a build page, world and how to play render cleanly (44.3s) - 50 [tablet] › tests/e2e/home.spec.ts:39:3 › home › @signup the registry: double opt-in by e-mail, confirmed only by a button press - 52 [tablet] › tests/e2e/home.spec.ts:66:3 › home › @clip home screenshots and a 10 s scroll-through - 51 [tablet] › tests/e2e/game.spec.ts:18:3 › game pages › @game all 18 builds are listed; sealed skills show as Coming soon; share images exist - 54 [tablet] › tests/e2e/game.spec.ts:31:3 › game pages › @game the world lists every area with its creatures ✓ 53 [tablet] › tests/e2e/kit.spec.ts:6:1 › @kit sprites are bundled (fingerprinted) and utilities override kit layout (8.5s) ✓ 55 [tablet] › tests/e2e/shell.spec.ts:9:1 › @shell header, footer and security headers; the site sets no cookies (5.0s) ✓ 57 [tablet] › tests/e2e/shell.spec.ts:32:1 › @shell 404 page is themed and has a way home (7.3s) - 58 [tablet] › tests/e2e/shell.spec.ts:39:1 › @revalidate the publish webhook accepts only fresh, signed, unique requests - 59 [tablet] › tests/e2e/support.spec.ts:11:3 › support center › @support a bug report with a screenshot is stored, and the stored image has no metadata - 60 [tablet] › tests/e2e/support.spec.ts:40:3 › support center › @support a ban review needs the ban id, then gets a reference - 61 [tablet] › tests/e2e/support.spec.ts:61:3 › support center › @analytics page views are counted without cookies; Do Not Track is respected - 62 [tablet] › tests/e2e/support.spec.ts:87:3 › support center › @seo sitemap and robots ✓ 56 [tablet] › tests/e2e/smoke.spec.ts:4:1 › @smoke home renders the game name without errors or sideways scroll (13.1s) ✓ 63 [tablet] › tests/e2e/support.spec.ts:97:3 › support center › @support page is clean on every screen size (5.0s) ✓ 64 [tablet] › tests/e2e/smoke.spec.ts:15:1 › @smoke 360 px phones have no sideways scroll (3.4s) ✓ 65 [mobile] › tests/e2e/chronicle.spec.ts:9:3 › chronicle › @fx the hero art is a real image; the WebGL layer joins it only on wide screens with WebGL 2 (7.7s) - 67 [mobile] › tests/e2e/chronicle.spec.ts:23:3 › chronicle › @fx reduced motion gets the static site: no WebGL layers start ✓ 68 [mobile] › tests/e2e/chronicle.spec.ts:36:3 › chronicle › @stage choosing a path and a build changes the stage; the build link follows (4.5s) ✓ 69 [mobile] › tests/e2e/chronicle.spec.ts:49:3 › chronicle › @world the basin card follows the chosen area; wide screens with WebGL 2 get the 3D diorama (2.7s) ✓ 70 [mobile] › tests/e2e/chronicle.spec.ts:66:3 › chronicle › @loot rolling a drop changes the item or its rarity; the popup names both (4.0s) ✓ 71 [mobile] › tests/e2e/chronicle.spec.ts:75:3 › chronicle › @shelf the field guide pages with its buttons, which disable at the ends (3.9s) ✓ 72 [mobile] › tests/e2e/chronicle.spec.ts:85:3 › chronicle › @media the gallery opens a viewer that steps with the arrow keys and closes with Escape (3.7s) - 73 [mobile] › tests/e2e/chronicle.spec.ts:100:3 › chronicle › @rail the chapter rail marks the chapter on screen (wide desktops) - 74 [mobile] › tests/e2e/chronicle.spec.ts:108:3 › chronicle › @seo the home page has its own share card ✓ 75 [mobile] › tests/e2e/chronicle.spec.ts:117:3 › chronicle › @pages the new chronicle pages are clean on every screen size (20.3s) - 76 [mobile] › tests/e2e/directions.spec.ts:28:3 › @directions a: clean render, screenshots and a scroll clip - 77 [mobile] › tests/e2e/directions.spec.ts:28:3 › @directions b: clean render, screenshots and a scroll clip - 78 [mobile] › tests/e2e/directions.spec.ts:28:3 › @directions c: clean render, screenshots and a scroll clip ✓ 66 [mobile] › tests/e2e/content.spec.ts:15:3 › content pages › @content every content page renders cleanly on every screen size (1.0m) - 80 [mobile] › tests/e2e/content.spec.ts:29:3 › content pages › @publish a post and a FAQ published in the database appear after the signed refresh; search finds the FAQ ✓ 81 [mobile] › tests/e2e/home.spec.ts:11:3 › home › @home every section renders; the chain fires; paths switch; clips load on click (13.8s) - 82 [mobile] › tests/e2e/home.spec.ts:39:3 › home › @signup the registry: double opt-in by e-mail, confirmed only by a button press - 83 [mobile] › tests/e2e/home.spec.ts:66:3 › home › @clip home screenshots and a 10 s scroll-through ✓ 84 [mobile] › tests/e2e/kit.spec.ts:6:1 › @kit sprites are bundled (fingerprinted) and utilities override kit layout (6.7s) ✓ 79 [mobile] › tests/e2e/game.spec.ts:5:3 › game pages › @game overview, builds index, a build page, world and how to play render cleanly (40.7s) - 86 [mobile] › tests/e2e/game.spec.ts:18:3 › game pages › @game all 18 builds are listed; sealed skills show as Coming soon; share images exist - 87 [mobile] › tests/e2e/game.spec.ts:31:3 › game pages › @game the world lists every area with its creatures ✓ 85 [mobile] › tests/e2e/shell.spec.ts:9:1 › @shell header, footer and security headers; the site sets no cookies (19.4s) ✓ 89 [mobile] › tests/e2e/shell.spec.ts:32:1 › @shell 404 page is themed and has a way home (10.1s) - 90 [mobile] › tests/e2e/shell.spec.ts:39:1 › @revalidate the publish webhook accepts only fresh, signed, unique requests - 91 [mobile] › tests/e2e/support.spec.ts:11:3 › support center › @support a bug report with a screenshot is stored, and the stored image has no metadata - 92 [mobile] › tests/e2e/support.spec.ts:40:3 › support center › @support a ban review needs the ban id, then gets a reference - 93 [mobile] › tests/e2e/support.spec.ts:61:3 › support center › @analytics page views are counted without cookies; Do Not Track is respected - 94 [mobile] › tests/e2e/support.spec.ts:87:3 › support center › @seo sitemap and robots ✓ 88 [mobile] › tests/e2e/smoke.spec.ts:4:1 › @smoke home renders the game name without errors or sideways scroll (24.5s) ✓ 96 [mobile] › tests/e2e/smoke.spec.ts:15:1 › @smoke 360 px phones have no sideways scroll (2.8s) ✓ 95 [mobile] › tests/e2e/support.spec.ts:97:3 › support center › @support page is clean on every screen size (4.6s) 1) [desktop] › tests/e2e/directions.spec.ts:28:3 › @directions c: clean render, screenshots and a scroll clip Test timeout of 300000ms exceeded. Error Context: ../../logs/evidence/pw-artifacts/site/directions--directions-c-c-7af1f-reenshots-and-a-scroll-clip-desktop/error-context.md attachment #2: trace (application/zip) ───────────────────────────────────────────────────────── ../../logs/evidence/pw-artifacts/site/directions--directions-c-c-7af1f-reenshots-and-a-scroll-clip-desktop/trace.zip Usage: pnpm exec playwright show-trace ../../logs/evidence/pw-artifacts/site/directions--directions-c-c-7af1f-reenshots-and-a-scroll-clip-desktop/trace.zip ──────────────────────────────────────────────────────────────────────────────────────────────── 2) [desktop] › tests/e2e/support.spec.ts:61:3 › support center › @analytics page views are counted without cookies; Do Not Track is respected Error: Timeout 15000ms exceeded while waiting on the predicate 71 | await page.goto('/'); 72 | await page.waitForTimeout(500); > 73 | await expect.poll(count, { timeout: 15_000 }).toBeGreaterThan(before); | ^ 74 | expect(await ctx.cookies()).toEqual([]); 75 | await ctx.close(); 76 | const mid = await count(); at /Users/king/Desktop/Workspace/SRO/zoen/apps/site/tests/e2e/support.spec.ts:73:51 Fixture "trace recording" timeout of 60000ms exceeded during teardown. Error: End of central directory record signature not found. Either not a zip file, or file is truncated. Slow test file: [desktop] › tests/e2e/directions.spec.ts (8.6m) Consider running tests from slow files in parallel. See: https://playwright.dev/docs/test-parallel 2 failed [desktop] › tests/e2e/directions.spec.ts:28:3 › @directions c: clean render, screenshots and a scroll clip [desktop] › tests/e2e/support.spec.ts:61:3 › support center › @analytics page views are counted without cookies; Do Not Track is respected 32 skipped 62 passed (17.8m)  ELIFECYCLE  Command failed with exit code 1. Turbopack build encountered 2 warnings: ./apps/site/app/opengraph-image.tsx:14:5 Warning: Dynamic filesystem access causes tracing of the whole project 12 | export default async function OgImage() { 13 | const read = (rel: string, w: number, h: number, fit: 'cover' | 'inside') => > 14 | fs.readFile(path.join(process.cwd(), rel)).then((b) => sharp(b).resize(w, h, { fit, po...  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 15 | const [art, mark] = await Promise.all([ 16 | read('public/media/hero.webp', 1200, 630, 'cover'), 17 | read('../../packages/ui/assets/brand/zoen-wordmark-720w.webp', 520, 200, 'inside'), Static analysis determined that this filesystem access causes the whole project to be traced and included in the output. This is usually unintentional and leads to all source files (including the public folder) to be deployed as part of the server code. This can slow down deployments or lead to failures when size limits are exceeded. To resolve this, you can - make sure the path is statically scoped to some subfolder, for example path.join(process.cwd(), 'data', bar), or - only use them in development, or - opt out by adding an ignore comment to the highlighted call: fs.readFile(/*turbopackIgnore: true*/ ...), or - remove them. Import traces: App Route: ./apps/site/app/opengraph-image.tsx ./apps/site/app/opengraph-image--route-entry.js Server Component: ./apps/site/app/opengraph-image.tsx ./apps/site/app/opengraph-image--metadata.js ./apps/site/app/opengraph-image.tsx:14:17 Warning: Dynamic filesystem access causes tracing of the whole project 12 | export default async function OgImage() { 13 | const read = (rel: string, w: number, h: number, fit: 'cover' | 'inside') => > 14 | fs.readFile(path.join(process.cwd(), rel)).then((b) => sharp(b).resize(w, h, { fit, po...  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 15 | const [art, mark] = await Promise.all([ 16 | read('public/media/hero.webp', 1200, 630, 'cover'), 17 | read('../../packages/ui/assets/brand/zoen-wordmark-720w.webp', 520, 200, 'inside'), Static analysis determined that this filesystem access causes the whole project to be traced and included in the output. This is usually unintentional and leads to all source files (including the public folder) to be deployed as part of the server code. This can slow down deployments or lead to failures when size limits are exceeded. To resolve this, you can - make sure the path is statically scoped to some subfolder, for example path.join(process.cwd(), 'data', bar), or - only use them in development, or - opt out by adding an ignore comment to the highlighted call: path.join(/*turbopackIgnore: true*/ ...), or - remove them. Import traces: App Route: ./apps/site/app/opengraph-image.tsx ./apps/site/app/opengraph-image--route-entry.js Server Component: ./apps/site/app/opengraph-image.tsx ./apps/site/app/opengraph-image--metadata.js [in#0 @ 0x123004170] Error opening input: No such file or directory Error opening input file /Users/king/Desktop/Workspace/SRO/zoen/logs/evidence/WEB-OVERHAUL-20261005-04/tmp/page@b6e4f76c19b88bcc516fe3c40916c762.webm. Error opening input files: No such file or directory [in#0 @ 0x14ea04080] Error opening input: No such file or directory Error opening input file /Users/king/Desktop/Workspace/SRO/zoen/logs/evidence/WEB-OVERHAUL-20261005-04/tmp/page@8555785e9b01229d3896d1e26629fae3.webm. Error opening input files: No such file or directory