From 9a0f75e915dfd2e367f31ccc05c5dfc087c442a3 Mon Sep 17 00:00:00 2001 From: Maks Pikov Date: Thu, 2 Apr 2026 22:19:01 +0000 Subject: [PATCH] fix(vue-query-devtools): guard unmount with mounted flag to prevent SSR crash --- packages/vue-query-devtools/src/devtools.vue | 5 ++++- packages/vue-query-devtools/src/devtoolsPanel.vue | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/vue-query-devtools/src/devtools.vue b/packages/vue-query-devtools/src/devtools.vue index d4e5482f9a6..09396d5750b 100644 --- a/packages/vue-query-devtools/src/devtools.vue +++ b/packages/vue-query-devtools/src/devtools.vue @@ -31,12 +31,15 @@ watchEffect(() => { devtools.setTheme(props.theme || 'system') }) +let mounted = false + onMounted(() => { devtools.mount(div.value as HTMLElement) + mounted = true }) onScopeDispose(() => { - devtools.unmount() + if (mounted) devtools.unmount() }) diff --git a/packages/vue-query-devtools/src/devtoolsPanel.vue b/packages/vue-query-devtools/src/devtoolsPanel.vue index 21aaa90c033..8a27dc66827 100644 --- a/packages/vue-query-devtools/src/devtoolsPanel.vue +++ b/packages/vue-query-devtools/src/devtoolsPanel.vue @@ -36,12 +36,15 @@ watchEffect(() => { devtools.setTheme(props.theme) }) +let mounted = false + onMounted(() => { devtools.mount(div.value as HTMLElement) + mounted = true }) onScopeDispose(() => { - devtools.unmount() + if (mounted) devtools.unmount() })