From 66c9c1415a21df16bddc2eb3c6bef800047aac74 Mon Sep 17 00:00:00 2001 From: semimikoh Date: Fri, 10 Apr 2026 10:00:17 +0900 Subject: [PATCH 1/2] fix(vue-query-devtools): only register cleanup after mount --- packages/vue-query-devtools/src/devtools.vue | 7 +++---- packages/vue-query-devtools/src/devtoolsPanel.vue | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/vue-query-devtools/src/devtools.vue b/packages/vue-query-devtools/src/devtools.vue index d4e5482f9a6..5a160482819 100644 --- a/packages/vue-query-devtools/src/devtools.vue +++ b/packages/vue-query-devtools/src/devtools.vue @@ -33,10 +33,9 @@ watchEffect(() => { onMounted(() => { devtools.mount(div.value as HTMLElement) -}) - -onScopeDispose(() => { - devtools.unmount() + onScopeDispose(() => { + devtools.unmount() + }) }) diff --git a/packages/vue-query-devtools/src/devtoolsPanel.vue b/packages/vue-query-devtools/src/devtoolsPanel.vue index 21aaa90c033..605a632240c 100644 --- a/packages/vue-query-devtools/src/devtoolsPanel.vue +++ b/packages/vue-query-devtools/src/devtoolsPanel.vue @@ -38,10 +38,9 @@ watchEffect(() => { onMounted(() => { devtools.mount(div.value as HTMLElement) -}) - -onScopeDispose(() => { - devtools.unmount() + onScopeDispose(() => { + devtools.unmount() + }) }) From 3148494fe4935e6d0ce079da246e1cac80a72038 Mon Sep 17 00:00:00 2001 From: semimikoh Date: Fri, 10 Apr 2026 10:04:51 +0900 Subject: [PATCH 2/2] chore(changeset): add vue-query-devtools patch release note --- .changeset/khaki-coats-divide.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/khaki-coats-divide.md diff --git a/.changeset/khaki-coats-divide.md b/.changeset/khaki-coats-divide.md new file mode 100644 index 00000000000..015a5e3c076 --- /dev/null +++ b/.changeset/khaki-coats-divide.md @@ -0,0 +1,5 @@ +--- +'@tanstack/vue-query-devtools': patch +--- + +Fix Vue SSR devtools cleanup by only registering `unmount()` after `mount()` has run.