e2e: shorten visit-site-editor canvas-loader visible wait#77725
Conversation
The site-editor performance suite has been spending ~60s per `visitSiteEditor` call since #77443 because the loader element no longer becomes visible (the editor resolves inside the 100ms artificial-delay in `useIsSiteEditorLoading` before React commits the loading render). The visible-state wait then times out at 60s and the catch block recovers, costing ~10-13 min per perf workflow run. Drop the visible-state timeout to 3s. The loader either appears within a tick or it doesn't appear at all, so the long wait is just wasted wall clock when the loader is skipped.
|
Size Change: 0 B Total Size: 7.77 MB ℹ️ View Unchanged
|
|
Flaky tests detected in 94d4596. 🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/25026565634
|
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
|
Performance tests ran as expected (still 45min but not 60++) https://github.com/WordPress/gutenberg/actions/runs/25026565622/job/73298849445?pr=77725 |
dmsnell
left a comment
There was a problem hiding this comment.
let’s try it. even if we have to change it, it’s bette than blocking all other work
|
Is waiting for the visible canvas loader important for the tests?
|
Co-authored-by: ramonjd <ramonopoly@git.wordpress.org> Co-authored-by: dmsnell <dmsnell@git.wordpress.org>

Test branch — not for merge
Investigating the perf-tests workflow regression that started at #77443. See #77443 for context.
What
visitSiteEditorwaits up to 60s for.edit-site-canvas-loaderto become visible, then up to 60s for it to hide. The visible wait is wrapped intry/catchso a missed render is non-fatal — but it still burns the full 60s before the catch fires.Since #77443 the site-editor
firstBlockperf metric jumped from ~4 200 ms to ~65 300 ms with samples clustered within ~100 ms — the signature of a fixed timeout. The site-editor suite added ~13 min to the workflow as a result; other suites unchanged.Hypothesis: with the new experiments REST schema in place, the site editor finishes resolving inside the 100 ms artificial-delay in
useIsSiteEditorLoading, so React never commits a loading render and the loader element is skipped entirely.This change drops the visible-state timeout to 3 s. The loader either renders within a tick or doesn't render at all — a 60 s wait is wasted wall clock either way. The hidden-state timeout stays at 60 s for the cases where the loader does appear.
Test plan
firstBlockq50 in the perf workflow artifacts vs trunk; expect ~4 000 ms instead of ~65 000 ms on the site-editor suite