From 65c15508ed0e6fad53e256d77585432dc13e2c4d Mon Sep 17 00:00:00 2001 From: alex-js-ltd Date: Sun, 22 Mar 2026 14:35:55 +0000 Subject: [PATCH 1/5] fix: use Object.is instead of === in defaultCompare --- packages/react-store/src/useStore.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-store/src/useStore.ts b/packages/react-store/src/useStore.ts index 70e8c2e..77cf868 100644 --- a/packages/react-store/src/useStore.ts +++ b/packages/react-store/src/useStore.ts @@ -7,7 +7,7 @@ type SyncExternalStoreSubscribe = Parameters< >[0] function defaultCompare(a: T, b: T) { - return a === b + return Object.is(a, b) } export function useStore( From 7dd6c25d16f79d70e3dc689841506791917bad29 Mon Sep 17 00:00:00 2001 From: alex-js-ltd Date: Sun, 22 Mar 2026 14:50:22 +0000 Subject: [PATCH 2/5] chore: add changeset --- .changeset/chatty-humans-unite.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/chatty-humans-unite.md diff --git a/.changeset/chatty-humans-unite.md b/.changeset/chatty-humans-unite.md new file mode 100644 index 0000000..6408b40 --- /dev/null +++ b/.changeset/chatty-humans-unite.md @@ -0,0 +1,5 @@ +--- +'@tanstack/react-store': patch +--- + +fix(react): use Object.is instead of === in defaultCompare to correctly handle NaN and -0 edge cases From adfc38d354dcc808118042e87b944de3ae09fe5f Mon Sep 17 00:00:00 2001 From: alex-js-ltd Date: Sun, 22 Mar 2026 17:36:19 +0000 Subject: [PATCH 3/5] docs: add JSDoc to defaultCompare --- packages/react-store/src/useStore.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/react-store/src/useStore.ts b/packages/react-store/src/useStore.ts index 77cf868..63e2b10 100644 --- a/packages/react-store/src/useStore.ts +++ b/packages/react-store/src/useStore.ts @@ -6,6 +6,7 @@ type SyncExternalStoreSubscribe = Parameters< typeof useSyncExternalStoreWithSelector >[0] +/** Comparator using Object.is to correctly handle NaN and -0 edge cases. */ function defaultCompare(a: T, b: T) { return Object.is(a, b) } From bded194ece0ec215ad7a2473930933bbb29db21a Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Wed, 25 Mar 2026 17:26:07 +0000 Subject: [PATCH 4/5] ci: apply automated fixes and generate docs --- docs/framework/react/reference/functions/useStore.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/framework/react/reference/functions/useStore.md b/docs/framework/react/reference/functions/useStore.md index 680155b..6b29b11 100644 --- a/docs/framework/react/reference/functions/useStore.md +++ b/docs/framework/react/reference/functions/useStore.md @@ -12,7 +12,7 @@ function useStore( compare): T; ``` -Defined in: [useStore.ts:13](https://github.com/TanStack/store/blob/main/packages/react-store/src/useStore.ts#L13) +Defined in: [useStore.ts:14](https://github.com/TanStack/store/blob/main/packages/react-store/src/useStore.ts#L14) ## Type Parameters From 10ccf354160445673c7d50b60f77fb7a57e7450e Mon Sep 17 00:00:00 2001 From: alex-js-ltd Date: Wed, 25 Mar 2026 18:46:48 +0000 Subject: [PATCH 5/5] chore(ci): grant issues write permission to allow commenting --- .github/workflows/pr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 3d9c21b..4818f83 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -13,6 +13,7 @@ env: permissions: contents: read pull-requests: write + issues: write jobs: test: