From a3c485fd6be53a4d94b3f781e78b00ad28e69abb Mon Sep 17 00:00:00 2001 From: Daniel O'Neill Date: Tue, 2 Sep 2025 14:07:16 -0400 Subject: [PATCH 1/3] Fix race condition where initial data does not trigger live query --- packages/react-db/src/useLiveQuery.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/react-db/src/useLiveQuery.ts b/packages/react-db/src/useLiveQuery.ts index a345d2de2..f2dcd4a5c 100644 --- a/packages/react-db/src/useLiveQuery.ts +++ b/packages/react-db/src/useLiveQuery.ts @@ -252,6 +252,11 @@ export function useLiveQuery( versionRef.current += 1 onStoreChange() }) + // Collection may be ready and will not receive initial `subscribeChanges()` + if (collectionRef.current!.status === `ready`) { + versionRef.current += 1 + onStoreChange() + } return () => { unsubscribe() } From 8a0a1853acbca74f91b8a3148d57013ea14125ec Mon Sep 17 00:00:00 2001 From: Daniel O'Neill Date: Tue, 2 Sep 2025 14:19:04 -0400 Subject: [PATCH 2/3] Add changeset for race condition fix --- .changeset/poor-vans-design.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/poor-vans-design.md diff --git a/.changeset/poor-vans-design.md b/.changeset/poor-vans-design.md new file mode 100644 index 000000000..60826bed2 --- /dev/null +++ b/.changeset/poor-vans-design.md @@ -0,0 +1,5 @@ +--- +"@tanstack/react-db": minor +--- + +Fixed a bug where a race condition could cause initial results not to be rendered when using `useLiveQuery`. From b029a977cd78d72d5f09c427077b9563c35de244 Mon Sep 17 00:00:00 2001 From: Daniel O'Neill Date: Tue, 2 Sep 2025 14:28:26 -0400 Subject: [PATCH 3/3] Changeset patch --- .changeset/poor-vans-design.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/poor-vans-design.md b/.changeset/poor-vans-design.md index 60826bed2..f1d960970 100644 --- a/.changeset/poor-vans-design.md +++ b/.changeset/poor-vans-design.md @@ -1,5 +1,5 @@ --- -"@tanstack/react-db": minor +"@tanstack/react-db": patch --- Fixed a bug where a race condition could cause initial results not to be rendered when using `useLiveQuery`.