Dev error overlay treats the benign "ResizeObserver loop completed with undelivered notifications." as an unhandled error
Maintainers usually reply within 1 day
A pull request for this has already been merged.
- #4126 by @james-elicx — merged
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 82/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- playwright, typescript, vite
Research direction
Read installDevErrorOverlay() in dist/client/dev-error-overlay.js, especially its window error handler, then check the existing tests for the dev error overlay. Reproduce the ResizeObserver message in Chromium and verify it does not mount the blocking overlay when event.error is null; confirm genuine script errors still appear.
Written by the indexing model from the issue text.
Description
What happens
installDevErrorOverlay() (dist/client/dev-error-overlay.js, unchanged in 1.2.1) reports every window error event that has a message, even when event.error is null:
} else if (event.message) reportDevError(new Error(event.message), { source: "window-error" });
Chromium fires a window error event with event.error === null and the message "ResizeObserver loop completed with undelivered notifications." whenever a ResizeObserver callback causes a layout change in the same frame. The spec treats this as benign: the remaining notifications are delivered next frame. No script failed.
vinext then mounts __vinext_dev_error_overlay_root ("Unhandled Script Error"), which covers the page and intercepts clicks.
Repro sketch
A Base UI Menu (Floating UI autoUpdate observes the trigger with a ResizeObserver) whose trigger animates its width while the popup is still mounted. In our Playwright suite against vite dev, the next click on the page then hits the overlay and times out, so the test flakes.
Expected
Ignore this message when event.error is null, or more generally don't open the blocking overlay for error events without an Error object.
Versions
vinext 1.1.0 and 1.2.1, Chromium (Playwright), macOS and Ubuntu CI.
- Dominant language
- TypeScript
- Stars
- 9.2k
- Forks
- 449
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 450
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from cloudflare/vinext
-
nextjs-tracking
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
cloudflare/vinext#3920 ·
Maintainers usually reply within 1 day
-
docs: document deployment with Cloudflare Workers Builds / Git integrationPossibly taken @reginaldalfret claimed this 16 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
cloudflare/vinext#3738 ·
Maintainers usually reply within 1 day
-
Standalone server.js does not default NODE_ENV to productionPossibly taken @reginaldalfret claimed this 28 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
cloudflare/vinext#3444 ·
Maintainers usually reply within 1 day
-
create-vinext-app generates `packageManager` without a pnpm version on windows, causing corepack to failPossibly taken @NriotHrreion claimed this 35 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
cloudflare/vinext#3322 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
cloudflare/vinext#3221 · 2 comments ·
Maintainers usually reply within 1 day
All issues in cloudflare/vinext
Similar issues
-
level/task type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
wazuh/wazuh-dashboard-plugins#9508 ·
Maintainers usually reply within 1 day
-
Testnet EOL page links Zonescan mainnetPossibly taken @napelvs claimed this today. Open
Difficulty 1/5 Under an hour Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Azure-Samples/azure-search-openai-demo#3249 ·
Maintainers usually reply within 1 day
-
[Docs] docs/architecture.mermaid leaves out 21 of the 51 src/ directoriesPossibly taken @uyg7x claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
enhancement status:needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
dongdongbh/Mindwtr#1438 ·
Maintainers usually reply within 1 day