From 4b1c210e5d5d5a4ff646e25e6d60bc79d8169970 Mon Sep 17 00:00:00 2001 From: Brandon Corfman Date: Thu, 30 Jul 2026 02:21:21 -0400 Subject: [PATCH] Fix WebKit E2E timing issues --- docs/reference/editor-workflows.md | 8 +++++--- tests/e2e/pattern-demo-persistence.spec.ts | 10 +++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/docs/reference/editor-workflows.md b/docs/reference/editor-workflows.md index 91a0a677..199b364f 100644 --- a/docs/reference/editor-workflows.md +++ b/docs/reference/editor-workflows.md @@ -294,8 +294,10 @@ This reference mirrors the workflow inventory in a docs-friendly format so tutor - Click `Scene` or `Project` in the left sidebar. #### A57 — Manage Project Library -- Project Tree header → `Manage` → `Open...`. -- In the popup, filter/search/open recent projects and refresh cloud-backed projects. +- Project Tree header → `Manage` → `Project Library...`. +- In the library, filter/search/open recent projects and refresh cloud-backed projects. +- Use a project row's `⋯` menu → `Delete...` for a non-current local or cloud project, then confirm the source-specific deletion. +- The current project cannot be deleted until another project is opened. - Project Tree header → `Manage` → `Create New`. - Project Tree header → `Manage` → `Import YAML`. - Project Tree header → `Manage` → `Export as YAML`. @@ -392,7 +394,7 @@ This reference mirrors the workflow inventory in a docs-friendly format so tutor - A2 multi-select sprites → A18/A19 normalize spacing or alignment → A40 bulk-edit shared visuals/transform values. ### W14 — Project Switching / Recovery -- A57 open/create/duplicate/import/export a project → A58 choose Online vs Offline behavior → Manage `Clear Project ...` when you need a fresh empty scene. +- A57 open/create/duplicate/import/export/delete a project → A58 choose Online vs Offline behavior → Manage `Clear Project ...` when you need a fresh empty scene. ### W15 — Local File Round-trip - A60 open YAML or project import → edit via W1-W13 → A60 save in place or save as. diff --git a/tests/e2e/pattern-demo-persistence.spec.ts b/tests/e2e/pattern-demo-persistence.spec.ts index 233417a7..4793b5a9 100644 --- a/tests/e2e/pattern-demo-persistence.spec.ts +++ b/tests/e2e/pattern-demo-persistence.spec.ts @@ -1015,18 +1015,18 @@ async function runPatternDemoPersistence(page: Page, options: PatternDemoRunOpti } } -test('pattern demo persistence survives tab close and reopen after each walkthrough step @slow @regression', async ({ page, browserName }) => { +test('pattern demo persistence survives tab close and reopen after each walkthrough step @slow @regression', async ({ page }, testInfo) => { test.skip( - browserName !== 'chromium' && !USE_LIVE_CLOUD, + testInfo.project.name !== 'chromium' && !USE_LIVE_CLOUD, 'The full Pattern Demo walkthrough is covered by Chromium; the browser matrix uses the targeted persistence smoke.' ); await runPatternDemoPersistence(page, { undoRedo: false }); }); -test('pattern demo persistence smoke covers browser matrix reopen path @regression @browser', async ({ page, browserName }) => { +test('pattern demo persistence smoke covers browser matrix reopen path @regression @browser', async ({ page }, testInfo) => { test.skip( - browserName === 'chromium' || USE_LIVE_CLOUD, + testInfo.project.name === 'chromium' || USE_LIVE_CLOUD, 'Chromium and cloud-live runs cover the full Pattern Demo walkthrough.' ); @@ -1041,7 +1041,7 @@ test('pattern demo persistence smoke covers browser matrix reopen path @regressi }); test.describe('pattern demo undo/redo persistence', () => { - test.skip(({ browserName }) => browserName !== 'chromium', 'The full undo/redo walkthrough is covered by Chromium; browser-matrix persistence uses the targeted smoke.'); + test.skip(({ }, testInfo) => testInfo.project.name !== 'chromium', 'The full undo/redo walkthrough is covered by Chromium; browser-matrix persistence uses the targeted smoke.'); test('pattern demo persistence survives reopen plus undo/redo after each walkthrough step @slow @regression', async ({ page }) => { await runPatternDemoPersistence(page, { undoRedo: true });