From 9e97512fd1e142aed88372b7544f2f24fe62d51c Mon Sep 17 00:00:00 2001 From: gujishh Date: Sun, 12 Apr 2026 14:30:50 +0900 Subject: [PATCH 1/2] Add Solid peers to query devtools --- packages/query-devtools/package.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/query-devtools/package.json b/packages/query-devtools/package.json index f4325415f5..4c0ef9c736 100644 --- a/packages/query-devtools/package.json +++ b/packages/query-devtools/package.json @@ -62,6 +62,17 @@ "src", "!src/__tests__" ], + "peerDependencies": { + "@kobalte/core": "^0.13.4", + "@solid-primitives/keyed": "^1.2.2", + "@solid-primitives/resize-observer": "^2.0.26", + "@solid-primitives/storage": "^1.3.11", + "@tanstack/match-sorter-utils": "^8.19.4", + "clsx": "^2.1.1", + "goober": "^2.1.16", + "solid-js": "^1.9.7", + "solid-transition-group": "^0.2.3" + }, "devDependencies": { "@kobalte/core": "^0.13.4", "@solid-primitives/keyed": "^1.2.2", From c4a95dbdb560dc8b80d75f286de446067dfacdf2 Mon Sep 17 00:00:00 2001 From: gujishh Date: Sun, 12 Apr 2026 14:34:17 +0900 Subject: [PATCH 2/2] fix(solid-query): avoid useContext call inside memo --- packages/solid-query/src/useBaseQuery.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/solid-query/src/useBaseQuery.ts b/packages/solid-query/src/useBaseQuery.ts index 773d0719e0..581eb8cdc9 100644 --- a/packages/solid-query/src/useBaseQuery.ts +++ b/packages/solid-query/src/useBaseQuery.ts @@ -10,9 +10,10 @@ import { createSignal, on, onCleanup, + useContext, } from 'solid-js' import { createStore, reconcile, unwrap } from 'solid-js/store' -import { useQueryClient } from './QueryClientProvider' +import { QueryClientContext } from './QueryClientProvider' import { useIsRestoring } from './isRestoring' import type { UseBaseQueryOptions } from './types' import type { Accessor, Signal } from 'solid-js' @@ -115,7 +116,17 @@ export function useBaseQuery< ) { type ResourceData = QueryObserverResult - const client = createMemo(() => useQueryClient(queryClient?.())) + const queryClientFromContext = useContext(QueryClientContext) + const client = createMemo(() => { + const clientFromOptions = queryClient?.() + if (clientFromOptions) { + return clientFromOptions + } + if (!queryClientFromContext) { + throw new Error('No QueryClient set, use QueryClientProvider to set one') + } + return queryClientFromContext() + }) const isRestoring = useIsRestoring() // There are times when we run a query on the server but the resource is never read // This could lead to times when the queryObserver is unsubscribed before the resource has loaded