Skip to content

feat(core): staleTime: 'static' #9139

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
Open

feat(core): staleTime: 'static' #9139

wants to merge 12 commits into from

Conversation

TkDodo
Copy link
Collaborator

@TkDodo TkDodo commented May 11, 2025

No description provided.

TkDodo added 6 commits May 11, 2025 13:23
previously, it didn't matter if we included `stale: true` or not in the filters for refetch, because marking things with query.invalidate() would set them all to stale anyway.

Now, queries with StaleTime.Static will be marked as `invalidated`, but still shouldn't be refetched. The `isStale` filter logic accounts for that, so we have to include it in the filters
check for observers first because they contain the source of truth calculated with `isStaleByTime`, and it also takes enabled into account
we have to check for undefined data first, because queries without data are really always stale; then, the next check must be against StaleTime.Static, because queries that are marked as invalidated are still not stale, even if they are static.
Copy link

nx-cloud bot commented May 11, 2025

View your CI Pipeline Execution ↗ for commit 5d2114c.

Command Status Duration Result
nx affected --targets=test:sherif,test:knip,tes... ✅ Succeeded 38s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded 1s View ↗

☁️ Nx Cloud last updated this comment at 2025-05-12 08:31:15 UTC

this ensures we never refetch Static queries
Copy link

pkg-pr-new bot commented May 11, 2025

More templates

@tanstack/angular-query-devtools-experimental

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

@tanstack/angular-query-experimental

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

@tanstack/eslint-plugin-query

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

@tanstack/query-async-storage-persister

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

@tanstack/query-broadcast-client-experimental

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

@tanstack/query-core

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

@tanstack/query-devtools

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

@tanstack/query-persist-client-core

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

@tanstack/query-sync-storage-persister

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

@tanstack/react-query

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

@tanstack/react-query-devtools

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

@tanstack/react-query-next-experimental

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

@tanstack/react-query-persist-client

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

@tanstack/solid-query

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

@tanstack/solid-query-devtools

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

@tanstack/solid-query-persist-client

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

@tanstack/svelte-query

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

@tanstack/svelte-query-devtools

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

@tanstack/svelte-query-persist-client

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

@tanstack/vue-query

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

@tanstack/vue-query-devtools

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

commit: 5d2114c

Copy link

github-actions bot commented May 11, 2025

Sizes for commit 5d2114c:

Branch Bundle Size
Main
This PR

Copy link

codecov bot commented May 11, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 58.81%. Comparing base (4b0f79f) to head (5d2114c).
Report is 2 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##             main    #9139       +/-   ##
===========================================
+ Coverage   44.49%   58.81%   +14.32%     
===========================================
  Files         206      138       -68     
  Lines        8150     5405     -2745     
  Branches     1823     1440      -383     
===========================================
- Hits         3626     3179      -447     
+ Misses       4081     1926     -2155     
+ Partials      443      300      -143     
Components Coverage Δ
@tanstack/angular-query-devtools-experimental ∅ <ø> (∅)
@tanstack/angular-query-experimental 85.04% <ø> (ø)
@tanstack/eslint-plugin-query ∅ <ø> (∅)
@tanstack/query-async-storage-persister 43.85% <ø> (ø)
@tanstack/query-broadcast-client-experimental 24.39% <ø> (ø)
@tanstack/query-codemods ∅ <ø> (∅)
@tanstack/query-core 96.16% <100.00%> (+0.01%) ⬆️
@tanstack/query-devtools 3.61% <ø> (ø)
@tanstack/query-persist-client-core 73.46% <ø> (ø)
@tanstack/query-sync-storage-persister 84.61% <ø> (ø)
@tanstack/query-test-utils ∅ <ø> (∅)
@tanstack/react-query 95.37% <100.00%> (+0.03%) ⬆️
@tanstack/react-query-devtools 10.00% <ø> (ø)
@tanstack/react-query-next-experimental ∅ <ø> (∅)
@tanstack/react-query-persist-client 100.00% <ø> (ø)
@tanstack/solid-query 77.56% <ø> (ø)
@tanstack/solid-query-devtools ∅ <ø> (∅)
@tanstack/solid-query-persist-client 100.00% <ø> (ø)
@tanstack/svelte-query 88.15% <ø> (ø)
@tanstack/svelte-query-devtools ∅ <ø> (∅)
@tanstack/svelte-query-persist-client 100.00% <ø> (ø)
@tanstack/vue-query 70.85% <ø> (ø)
@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.

@github-actions github-actions bot added the documentation Improvements or additions to documentation label May 11, 2025
@TkDodo TkDodo changed the title feat(core): StaleTime.Static feat(core): staleTime: 'static' May 12, 2025
@minseong0324
Copy link
Contributor

minseong0324 commented May 13, 2025

@TkDodo In my opinion, if "static" is added, it would be better if explicit changes were added to devtools accordingly. What do you think? If you think it's necessary, I'd like to pull this branch and work on it as a new PR.

@TkDodo
Copy link
Collaborator Author

TkDodo commented May 14, 2025

@TkDodo In my opinion, if "static" is added, it would be better if explicit changes were added to devtools accordingly. What do you think? If you think it's necessary, I'd like to pull this branch and work on it as a new PR.

yeah we could make a separate label like we have for disabled 👍

@minseong0324
Copy link
Contributor

yeah we could make a separate label like we have for disabled 👍

OK, I'll work on it as soon as possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation package: query-core package: react-query
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants