diff --git a/package.json b/package.json
index 4e0c9b36c9..f77fa0676c 100644
--- a/package.json
+++ b/package.json
@@ -85,7 +85,7 @@
"rollup-plugin-terser": "^7.0.2",
"rollup-plugin-visualizer": "^5.6.0",
"solid-jest": "^0.2.0",
- "solid-js": "^1.5.4",
+ "solid-js": "^1.5.7",
"solid-testing-library": "^0.3.0",
"stream-to-array": "^2.3.0",
"svelte": "^3.48.0",
diff --git a/packages/solid-query/package.json b/packages/solid-query/package.json
index 0b35de092a..fe46f6a3a0 100644
--- a/packages/solid-query/package.json
+++ b/packages/solid-query/package.json
@@ -46,7 +46,7 @@
"@tanstack/query-core": "workspace:*"
},
"peerDependencies": {
- "solid-js": "^1.5.4"
+ "solid-js": "^1.5.7"
},
"peerDependenciesMeta": {}
}
diff --git a/packages/solid-query/src/__tests__/transition.test.tsx b/packages/solid-query/src/__tests__/transition.test.tsx
new file mode 100644
index 0000000000..af26437cef
--- /dev/null
+++ b/packages/solid-query/src/__tests__/transition.test.tsx
@@ -0,0 +1,58 @@
+import { fireEvent, render, screen, waitFor } from 'solid-testing-library'
+
+import { createSignal, Show, startTransition, Suspense } from 'solid-js'
+import { createQuery, QueryCache, QueryClientProvider } from '..'
+import { createQueryClient, queryKey, sleep } from './utils'
+
+describe("useQuery's in Suspense mode with transitions", () => {
+ const queryCache = new QueryCache()
+ const queryClient = createQueryClient({ queryCache })
+
+ it('should render the content when the transition is done', async () => {
+ const key = queryKey()
+
+ function Suspended() {
+ const state = createQuery(key, async () => {
+ await sleep(10)
+ return true
+ })
+
+ return Message
+ }
+
+ function Page() {
+ const [showSignal, setShowSignal] = createSignal(false)
+
+ return (
+
+
+
+
+
+
+
+
+ )
+ }
+
+ render(() => (
+
+
+
+ ))
+
+ await waitFor(() => screen.getByText('Show'))
+ fireEvent.click(screen.getByLabelText('toggle'))
+
+ await waitFor(() => screen.getByText('Message'))
+ // verify that the button also updated. See https://github.com/solidjs/solid/issues/1249
+ await waitFor(() => screen.getByText('Hide'))
+ })
+})
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8f5fdba290..ac262d67a4 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -65,7 +65,7 @@ importers:
rollup-plugin-terser: ^7.0.2
rollup-plugin-visualizer: ^5.6.0
solid-jest: ^0.2.0
- solid-js: ^1.5.4
+ solid-js: ^1.5.7
solid-testing-library: ^0.3.0
stream-to-array: ^2.3.0
svelte: ^3.48.0
@@ -134,8 +134,8 @@ importers:
rollup-plugin-terser: 7.0.2_rollup@2.78.1
rollup-plugin-visualizer: 5.6.0_rollup@2.78.1
solid-jest: 0.2.0_zy3poetcogmvcndrkzqtylmjuq
- solid-js: 1.5.4
- solid-testing-library: 0.3.0_solid-js@1.5.4
+ solid-js: 1.5.7
+ solid-testing-library: 0.3.0_solid-js@1.5.7
stream-to-array: 2.3.0
svelte: 3.49.0
ts-node: 10.8.2_rb7lfb2dlgdf5f7m6mcvvespxa
@@ -3136,6 +3136,12 @@ packages:
dependencies:
regenerator-runtime: 0.13.9
+ /@babel/runtime/7.19.0:
+ resolution: {integrity: sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==}
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: 0.13.9
+
/@babel/runtime/7.9.0:
resolution: {integrity: sha512-cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA==}
dependencies:
@@ -5207,7 +5213,7 @@ packages:
engines: {node: '>=10'}
dependencies:
'@babel/code-frame': 7.18.6
- '@babel/runtime': 7.18.9
+ '@babel/runtime': 7.19.0
'@types/aria-query': 4.2.2
aria-query: 4.2.2
chalk: 4.1.2
@@ -5230,6 +5236,20 @@ packages:
pretty-format: 27.5.1
dev: true
+ /@testing-library/dom/8.18.1:
+ resolution: {integrity: sha512-oEvsm2B/WtcHKE+IcEeeCqNU/ltFGaVyGbpcm4g/2ytuT49jrlH9x5qRKL/H3A6yfM4YAbSbC0ceT5+9CEXnLg==}
+ engines: {node: '>=12'}
+ dependencies:
+ '@babel/code-frame': 7.18.6
+ '@babel/runtime': 7.19.0
+ '@types/aria-query': 4.2.2
+ aria-query: 5.0.2
+ chalk: 4.1.2
+ dom-accessibility-api: 0.5.14
+ lz-string: 1.4.4
+ pretty-format: 27.5.1
+ dev: true
+
/@testing-library/jest-dom/5.16.4:
resolution: {integrity: sha512-Gy+IoFutbMQcky0k+bqqumXZ1cTGswLsFqmNLzNdSKkU9KGV2u9oXhukCbbJ9/LRPKiqwxEE8VpV/+YZlfkPUA==}
engines: {node: '>=8', npm: '>=6', yarn: '>=1'}
@@ -5274,8 +5294,8 @@ packages:
react: '*'
react-dom: '*'
dependencies:
- '@babel/runtime': 7.18.9
- '@testing-library/dom': 8.14.0
+ '@babel/runtime': 7.19.0
+ '@testing-library/dom': 8.18.1
'@types/react-dom': 18.0.6
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
@@ -6543,6 +6563,11 @@ packages:
engines: {node: '>=6.0'}
dev: true
+ /aria-query/5.0.2:
+ resolution: {integrity: sha512-eigU3vhqSO+Z8BKDnVLN/ompjhf3pYzecKXz8+whRy+9gZu8n1TCGfwzQUUPnqdHl9ax1Hr9031orZ+UOEYr7Q==}
+ engines: {node: '>=6.0'}
+ dev: true
+
/arr-diff/4.0.0:
resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==}
engines: {node: '>=0.10.0'}
@@ -6748,7 +6773,7 @@ packages:
/axios/0.24.0:
resolution: {integrity: sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==}
dependencies:
- follow-redirects: 1.15.1_debug@4.3.4
+ follow-redirects: 1.15.1
transitivePeerDependencies:
- debug
dev: true
@@ -6756,7 +6781,7 @@ packages:
/axios/0.26.1:
resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==}
dependencies:
- follow-redirects: 1.15.1_debug@4.3.4
+ follow-redirects: 1.15.1
transitivePeerDependencies:
- debug
@@ -8166,8 +8191,8 @@ packages:
engines: {node: '>=10'}
hasBin: true
dependencies:
- JSONStream: 1.3.5
is-text-path: 1.0.1
+ JSONStream: 1.3.5
lodash: 4.17.21
meow: 8.1.2
split2: 3.2.2
@@ -10894,6 +10919,15 @@ packages:
inherits: 2.0.4
readable-stream: 2.3.7
+ /follow-redirects/1.15.1:
+ resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
/follow-redirects/1.15.1_debug@4.3.4:
resolution: {integrity: sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==}
engines: {node: '>=4.0'}
@@ -17413,7 +17447,7 @@ packages:
/regenerator-transform/0.15.0:
resolution: {integrity: sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==}
dependencies:
- '@babel/runtime': 7.18.9
+ '@babel/runtime': 7.19.0
/regex-not/1.0.2:
resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==}
@@ -18284,6 +18318,12 @@ packages:
dependencies:
csstype: 3.1.0
+ /solid-js/1.5.7:
+ resolution: {integrity: sha512-L1UuyMuZZARAwzXo5NZDhE6yxc14aqNbVOUoGzvlcxRZo1Cm4ExhPV0diEfwDyiKG/igqNNLkNurHkXiI5sVEg==}
+ dependencies:
+ csstype: 3.1.0
+ dev: true
+
/solid-refresh/0.4.1_solid-js@1.5.4:
resolution: {integrity: sha512-v3tD/OXQcUyXLrWjPW1dXZyeWwP7/+GQNs8YTL09GBq+5FguA6IejJWUvJDrLIA4M0ho9/5zK2e9n+uy+4488g==}
peerDependencies:
@@ -18295,14 +18335,14 @@ packages:
solid-js: 1.5.4
dev: true
- /solid-testing-library/0.3.0_solid-js@1.5.4:
+ /solid-testing-library/0.3.0_solid-js@1.5.7:
resolution: {integrity: sha512-6NWVbySNVzyReBm2N6p3eF8bzxRZXHZTAmPix4vFWYol16QWVjNQsEUxvr+ZOutb0yuMZmNuGx3b6WIJYmjwMQ==}
engines: {node: '>= 14'}
peerDependencies:
solid-js: '>=1.0.0'
dependencies:
'@testing-library/dom': 7.31.2
- solid-js: 1.5.4
+ solid-js: 1.5.7
dev: true
/sort-by/1.2.0: