fix(solid-query): avoid stale-notification resuspend#11037
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughModifies the client subscriber microtask logic in ChangesSuspense re-suspend fix
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant Observer
participant ClientSubscriber
participant Resource
participant Store
Observer->>ClientSubscriber: notify(result)
ClientSubscriber->>ClientSubscriber: queueMicrotask
alt no active unsubscribe
ClientSubscriber-->>ClientSubscriber: return early
else resolver pending or loading/error
ClientSubscriber->>Resource: refetch()
Resource->>Store: trigger Suspense read
else settled result
ClientSubscriber->>Store: setStateWithReconciliation(result)
end
Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
useBaseQueryrefetch()when the resource must re-enter those statesCloses #11024.
Testing
cd packages/solid-query && pnpm exec vitest run src/__tests__/suspense.test.tsx --environment jsdompnpm --filter @tanstack/solid-query test:types:tscurrentgit diff --checkSummary by CodeRabbit
Bug Fixes
Tests