Skip to content

Make hydrationQueue a derived value - #9247

Merged
Ephem merged 2 commits into
TanStack:mainfrom
Ephem:fredrik/make-hydrationQueue-derived
Jun 4, 2025
Merged

Make hydrationQueue a derived value#9247
Ephem merged 2 commits into
TanStack:mainfrom
Ephem:fredrik/make-hydrationQueue-derived

Conversation

@Ephem

@EphemEphem commented Jun 4, 2025

Copy link
Copy Markdown
Collaborator

After the fixes in:

#9157
#9188

I noticed a version of this bug was still happening: #8677

@TkDodo Pointed out a potential solution, which is to move hydrationQueue from being a state, to being a derived value instead.

I think this makes a lot of sense. It should always be safe to recalculate this and there should be no situation where the component rerenders without the effect running where we want to preserve the values.

Tests are passing without changes.

@nx-cloud

nx-cloudBot commented Jun 4, 2025

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit 893f377.

CommandStatusDurationResult
nx affected --targets=test:sherif,test:knip,tes...✅ Succeeded2m 38sView ↗
nx run-many --target=build --exclude=examples/*...✅ Succeeded35sView ↗

☁️ Nx Cloud last updated this comment at 2025-06-04 09:31:40 UTC

@pkg-pr-new

pkg-pr-newBot commented Jun 4, 2025

Copy link
Copy Markdown
More templates

@tanstack/angular-query-devtools-experimental

npm i https://pkg.pr.new/@tanstack/angular-query-devtools-experimental@9247

@tanstack/angular-query-experimental

npm i https://pkg.pr.new/@tanstack/angular-query-experimental@9247

@tanstack/eslint-plugin-query

npm i https://pkg.pr.new/@tanstack/eslint-plugin-query@9247

@tanstack/query-async-storage-persister

npm i https://pkg.pr.new/@tanstack/query-async-storage-persister@9247

@tanstack/query-broadcast-client-experimental

npm i https://pkg.pr.new/@tanstack/query-broadcast-client-experimental@9247

@tanstack/query-core

npm i https://pkg.pr.new/@tanstack/query-core@9247

@tanstack/query-devtools

npm i https://pkg.pr.new/@tanstack/query-devtools@9247

@tanstack/query-persist-client-core

npm i https://pkg.pr.new/@tanstack/query-persist-client-core@9247

@tanstack/query-sync-storage-persister

npm i https://pkg.pr.new/@tanstack/query-sync-storage-persister@9247

@tanstack/react-query

npm i https://pkg.pr.new/@tanstack/react-query@9247

@tanstack/react-query-devtools

npm i https://pkg.pr.new/@tanstack/react-query-devtools@9247

@tanstack/react-query-next-experimental

npm i https://pkg.pr.new/@tanstack/react-query-next-experimental@9247

@tanstack/react-query-persist-client

npm i https://pkg.pr.new/@tanstack/react-query-persist-client@9247

@tanstack/solid-query

npm i https://pkg.pr.new/@tanstack/solid-query@9247

@tanstack/solid-query-devtools

npm i https://pkg.pr.new/@tanstack/solid-query-devtools@9247

@tanstack/solid-query-persist-client

npm i https://pkg.pr.new/@tanstack/solid-query-persist-client@9247

@tanstack/svelte-query

npm i https://pkg.pr.new/@tanstack/svelte-query@9247

@tanstack/svelte-query-devtools

npm i https://pkg.pr.new/@tanstack/svelte-query-devtools@9247

@tanstack/svelte-query-persist-client

npm i https://pkg.pr.new/@tanstack/svelte-query-persist-client@9247

@tanstack/vue-query

npm i https://pkg.pr.new/@tanstack/vue-query@9247

@tanstack/vue-query-devtools

npm i https://pkg.pr.new/@tanstack/vue-query-devtools@9247

commit: 893f377

@TkDodoTkDodo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome, exactly how I imagined it would look ♥️. Gets a lot simpler too 🙌

@TkDodo

Copy link
Copy Markdown
Collaborator

ah, the eslint disable is still needed it seems:

/home/workflows/workspace/packages/react-query/src/HydrationBoundary.tsx
59:25 error Unnecessary conditional, value is always truthy @typescript-eslint/no-unnecessary-condition

@Ephem

Ephem commented Jun 4, 2025

Copy link
Copy Markdown
CollaboratorAuthor

Yeah, my editor linting was acting up and told me it was safe to remove. 😞

@codecov

codecovBot commented Jun 4, 2025

Copy link
Copy Markdown

Codecov Report

Attention: Patch coverage is 96.00000% with 1 line in your changes missing coverage. Please review.

Project coverage is 84.29%. Comparing base (058bfc9) to head (893f377).
Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@ Coverage Diff @@## main #9247 +/- ##
===========================================
+ Coverage 45.33% 84.29% +38.95% 
===========================================
Files 207 25 -182 Lines 8271 363 -7908 Branches 1860 108 -1752 ===========================================
- Hits 3750 306 -3444 + Misses 4080 48 -4032 + Partials 441 9 -432 
ComponentsCoverage Δ
@tanstack/angular-query-devtools-experimental∅ <ø> (∅)
@tanstack/angular-query-experimental∅ <ø> (∅)
@tanstack/eslint-plugin-query∅ <ø> (∅)
@tanstack/query-async-storage-persister∅ <ø> (∅)
@tanstack/query-broadcast-client-experimental∅ <ø> (∅)
@tanstack/query-codemods∅ <ø> (∅)
@tanstack/query-core∅ <ø> (∅)
@tanstack/query-devtools∅ <ø> (∅)
@tanstack/query-persist-client-core∅ <ø> (∅)
@tanstack/query-sync-storage-persister∅ <ø> (∅)
@tanstack/query-test-utils∅ <ø> (∅)
@tanstack/react-query95.93% <96.00%> (-0.10%)⬇️
@tanstack/react-query-devtools10.00% <ø> (ø)
@tanstack/react-query-next-experimental∅ <ø> (∅)
@tanstack/react-query-persist-client100.00% <ø> (ø)
@tanstack/solid-query∅ <ø> (∅)
@tanstack/solid-query-devtools∅ <ø> (∅)
@tanstack/solid-query-persist-client∅ <ø> (∅)
@tanstack/svelte-query∅ <ø> (∅)
@tanstack/svelte-query-devtools∅ <ø> (∅)
@tanstack/svelte-query-persist-client∅ <ø> (∅)
@tanstack/vue-query∅ <ø> (∅)
@tanstack/vue-query-devtools∅ <ø> (∅)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Ephem
Ephem merged commit 0d2c2e0 into TanStack:mainJun 4, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Ephem@TkDodo