Skip to content

fix: stop the dev toolbar from reporting benign ResizeObserver loop - #2240

Merged
birkskyum merged 1 commit into
solidjs:mainfrom
birkskyum:resize-observer-fix
Jul 26, 2026
Merged

fix: stop the dev toolbar from reporting benign ResizeObserver loop#2240
birkskyum merged 1 commit into
solidjs:mainfrom
birkskyum:resize-observer-fix

Conversation

@birkskyum

@birkskyum birkskyum commented Jul 25, 2026

Copy link
Copy Markdown
Member

Browsers dispatch ResizeObserver loop completed with undelivered notifications as a window error event with no error object. The dev toolbar's handler did pushError(error.error ?? error), so it fell through to the raw ErrorEvent, logged it to the console as a stackless ErrorEvent, and called setContent("err"), forcing the error panel open over the app on every resize.

Guards the handler against stackless ResizeObserver loop events. Kept narrow on purpose: other stackless non-Error events (cross-origin Script error.) are still captured, which can be revisited separately.

Verification

Ran the repro from the issue in dev mode and drove viewport resizes with Playwright.

Before: 5 captured errors, panel auto-opened, [error] ErrorEvent in console.
After: zero captured errors, error button stays disabled, app renders normally.

@changeset-bot

changeset-bot Bot commented Jul 25, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5610f3e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@solidjs/start Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@birkskyum
birkskyum requested a review from lxsmnsyc July 25, 2026 23:43
@netlify

netlify Bot commented Jul 25, 2026

Copy link
Copy Markdown

Deploy Preview for solid-start-landing-page ready!

Name Link
🔨 Latest commit 5610f3e
🔍 Latest deploy log https://app.netlify.com/projects/solid-start-landing-page/deploys/6a654a219564650008dafc56
😎 Deploy Preview https://deploy-preview-2240--solid-start-landing-page.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@pkg-pr-new

pkg-pr-new Bot commented Jul 25, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@solidjs/start@2240

commit: 5610f3e

@birkskyum birkskyum changed the title Stop the dev toolbar from reporting benign ResizeObserver loop fix: stop the dev toolbar from reporting benign ResizeObserver loop Jul 26, 2026
@birkskyum
birkskyum merged commit 02cd41e into solidjs:main Jul 26, 2026
10 checks passed
brenelz added a commit that referenced this pull request Jul 29, 2026
Brings the v2 rc line (through 2.0.0-rc.6) into the Solid 2 branch.

Ported main features onto the Solid 2 architecture:
- Server-function error handler (#2262): wired through
  handleServerFunctionRequest's transformResult hook and the
  solid-start:server-fn-error-handler virtual module.
- Custom seroval plugins (#2250): serialization.plugins now feeds the
  @solidjs/web codec on both the client transport and the server handler.
- ~ alias fix for workspace packages (#2239): adopted appRootAlias in
  place of the global resolve.alias entry.
- Dev toolbar (#2049, replaces the dev overlay): ported to Solid 2
  (Errored/Loading, onSettled, two-arg createEffect, draft-mutation
  stores, terracotta 2 subpath imports, @solidjs/web Portal/Dynamic/JSX,
  createMemo(async) instead of createResource). Protocol-specific pieces
  (SerovalChunkReader, body-format markers) moved local to the toolbar.
- Deferred stream response via h3 iterable() (#2231), StartHandler type
  (#2234), routerLoad restore (#2228), nonce on streaming redirect
  script (#2252), ResizeObserver-loop filter (#2240) all kept.

Kept deleted (superseded by vite-plugin-solid / @solidjs/web /
@solidjs/router server-function integration): fs-routes tree-shake,
manifest.ts, directives, fns serialization/registration/shared and their
specs. Fixes main landed in those files (#2249, #2238, #2243, #2245,
#2241, #2261) live upstream now and are tracked for porting there.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug?]: Setting a Signal in ResizeObserver Breaks in dev

2 participants