Solid Suspense is triggered on data access after checking isSuccess when loaded by ensureQueryData
Los mantenedores suelen responder en 1 día
@brenelz ya está trabajando en esto.
Desde el 18/8/2026.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- typescript
- Área
- frontend
Línea de trabajo
Comienza ejecutando la reproducción de StackBlitz e inspecciona src/routes/posts.tsx, primero con la sección de loader comentada y después habilitada. Rastrea cómo ensureQueryData afecta al Solid resource y al query data getter cuando isSuccess es true. Se considera terminado cuando el data getter se comporta de forma consistente en ambos casos y el Suspense fallback no se monta inesperadamente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
Hi there, I'm running into a weird issue where a suspense is being triggered even after checking that isSuccess is true, but only if the data was loaded from an ensureQueryData call (I've only tested this from a createFileRoute loader, maybe that's somehow related?).
It seems like somehow the Solid resource ends up behind the query. I'm not very familiar with the TanStack or Solid code, but in digging through the debugger in Chrome I found this suspect situation. The getter on the query identifies that the data exists (and while I'm here I can see the isSuccess set to true) and tries to load the latest data from the Solid resource:
But the Solid resource doesn't believe the fetcher was resolved yet, leading to it triggering a read which adds to the suspense context instead of just returning the value:
Your minimal, reproducible example
https://stackblitz.com/edit/tanstack-router-lwma9xac?file=src%2Froutes%2Fposts.tsx
Steps to reproduce
- Visit the posts page (/posts) in the sandbox, and observe that the
wasMountedsignal remains false. - Uncomment the loader section (in src/routes/posts.tsx), and observe that the Suspense fallback is mounted.
Expected behavior
I expect that the query data getter would behave the same no matter how the data was initially loaded.
How often does this bug happen?
Every time
Screenshots or Videos
Platform
- OS: macOS
- Browser: Safari 26.1, Chrome 142.0
Tanstack Query adapter
solid-query
TanStack Query version
5.90.12
TypeScript version
5.9.3
Additional context
I realize this seems like a tiny bug, and in almost any case I don't think it'd even be perceptible, but unfortunately the suspense is a significant problem for me because it breaks the iframe that Square's web payments SDK generates.
- Lenguaje dominante
- TypeScript
- Estrellas
- 50.4k
- Forks
- 4.2k
- Merge medio
- 11 h 33 min
- PR fusionados (30 d)
- 421
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de TanStack/query
-
solid-query: STRICT_READ_UNTRACKED on Solid 2 — client()/options() read in component body (useMutation, useBaseQuery)Quizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
TanStack/query#11358 · 2 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
solid-query: switching the queryClient accessor strands the new client's cache (subscription stays on the old observer)Posiblemente ocupada @MaNaN1803 la tomó hace 75 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
TanStack/query#11106 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
-
setQueryData: NoInfer loses discriminated-union members when spreading a narrowed updater valuePosiblemente ocupada @iosayin la tomó hace 1 día. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
Los mantenedores suelen responder en 1 día
-
setQueryData updater loses discriminated-union fields when spreading inferred NoInfer dataPosiblemente ocupada @boriskozak la tomó hace 1 día. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
TanStack/query#11794 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de TanStack/query
Issues similares
-
area:docs bug triage:confirmed
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Cotal-AI/Cotal#2875 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
GLM-5.3 available on bedrock nowAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
anomalyco/models.dev#8862 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
fix(data-lake): wizard source step still previews the local slug, not the server-disambiguated oneAbiertodata-lake
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
ready-for-triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
konflux-ci/konflux-ui#1596 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
enhancement good first issue priority: low size: XS
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día