ta
TanStack
GitHub
virtual
Workspace
GitHub
CI Pipeline Executions
Filtered
Runs
Demo
Insights
Compare tasks
Analytics
Sign in
Toggle sidebar
Overview
⌘K
virtual
Loading workspace stats
Loading workspace insights...
Statistics interval
7 days
30 days
Latest CI Pipeline Executions
Status
Fix filter
Filter
Fuzzy
Filter range
Sort by
Sort by
Start time
Sort ascending
Sort descending
Succeeded
main
bc8643b7 fix(virtual-core): viewport drifts when above-viewport rows resize over multiple frames (#1212) Folding adjustments eagerly into `scrollOffset` means the browser's scroll event for an adjustment write now arrives at exactly the offset we already hold, and the direction computation classified that equality as `'backward'`. With `isScrolling` held for `isScrollingResetDelay` after the event, the default `shouldAdjustScrollPositionOnItemSizeChange` then skipped every above-viewport re-measure compensation until the reset — so multi-frame reflows (a side pane's width animation re-wrapping rows while the user is scrolled up) drifted the viewport, with only ~1 frame in 9 compensated. An event at the held offset carries no directional information, so keep the previous direction for it instead of computing the comparison. Real gestures still latch normally (their read-backs never equal the held offset, which moves with each event), an equality read-back during a real backward gesture correctly stays `'backward'`, and the `isScrolling === false` reset emission still clears the direction.
by Marius Schulz
M
Succeeded
perf/zero-alloc-calculate-range
73c79fa6 Merge cfd5a83f180c127a9d15f701eb933fce07166054 into d73a538a5b1eba7586f3557e2f34564ac3570910
by Marius Schulz
M
Succeeded
perf/zero-alloc-calculate-range
206959a7 Merge 7b5413ee62c3f1a8cb7fb5d521daf12c9926f172 into 75ae8964a695137ea3dea1ff592ea9502d3d67de
by Marius Schulz
M
Succeeded
fix/resize-adjust-scrolloffset-sync
ec8671ff Merge 0756722df0739e7f6cd63b30e8b1522556c2611d into d73a538a5b1eba7586f3557e2f34564ac3570910
by Marius Schulz
M
Succeeded
main
37be2842 fix(virtual-core): sync `scrollOffset` in `applyScrollAdjustment` so end-anchored resize is not lost to browser clamp (#1209) With `anchorTo: 'end'` and a dynamically growing last item, `resizeItem` calls `applyScrollAdjustment` before `notify()`, so the `scrollTop` write lands while the sizer is still at the old `getTotalSize()`. The browser clamps the write, no scroll event fires, and `scrollOffset` stays stale. The next tick's `getVirtualDistanceFromEnd()` then exceeds `scrollEndThreshold`, `wasAtEnd` flips false, and the viewport drifts away from the end from the second resize onward. Carry the intended target in `scrollOffset` (and zero `scrollAdjustments` to keep their sum invariant) the same way the prepend path in `setOptions` does (#1176), so the next `wasAtEnd` check sees the post-adjustment position regardless of whether the DOM write was clamped.
by Marius Schulz
M
Succeeded
fix/resize-adjust-scrolloffset-sync
431501f8 Merge 75a5a2b14b9802608e6b125f4ca1c6dc2bcb0c74 into 75ae8964a695137ea3dea1ff592ea9502d3d67de
by Marius Schulz
M
Previous
Next