From 5610f3e68803037ed99f6786dc9709c527739b1e Mon Sep 17 00:00:00 2001 From: Birk Skyum Date: Sun, 26 Jul 2026 01:42:10 +0200 Subject: [PATCH] Stop the dev toolbar from reporting benign `ResizeObserver loop` notifications as application errors. --- .changeset/tricky-goats-cheer.md | 5 +++++ packages/start/src/shared/dev-toolbar/index.tsx | 5 +++++ 2 files changed, 10 insertions(+) create mode 100644 .changeset/tricky-goats-cheer.md diff --git a/.changeset/tricky-goats-cheer.md b/.changeset/tricky-goats-cheer.md new file mode 100644 index 000000000..e02ac9eb3 --- /dev/null +++ b/.changeset/tricky-goats-cheer.md @@ -0,0 +1,5 @@ +--- +"@solidjs/start": patch +--- + +Stop the dev toolbar from reporting benign `ResizeObserver loop` notifications as application errors. Browsers dispatch these as window `error` events carrying no error object, so the toolbar was capturing the raw `ErrorEvent` and force-opening the error panel over the app on every resize. diff --git a/packages/start/src/shared/dev-toolbar/index.tsx b/packages/start/src/shared/dev-toolbar/index.tsx index 7bfa72ef0..e26c8c10a 100644 --- a/packages/start/src/shared/dev-toolbar/index.tsx +++ b/packages/start/src/shared/dev-toolbar/index.tsx @@ -157,6 +157,11 @@ export function DevToolbar(props: DevToolbarProps) { createEffect(() => { const onErrorEvent = (error: ErrorEvent) => { + // Browsers dispatch benign ResizeObserver loop notifications as window + // "error" events carrying no error object. They aren't app errors. + if (!error.error && error.message?.startsWith("ResizeObserver loop")) { + return; + } pushError(error.error ?? error); };