@tanstack/angular-virtual@6.1.0
@tanstack/virtual-core@3.18.0
- #1300
43675bc- feat(virtual-core): addcancelScroll()to stop an in-flightscrollToIndex/scrollToOffset/scrollBy/scrollToEndfrom correcting toward its target, so a user gesture can take over the viewport (#1285)
-
#1276
9df47a3- FixscrollToIndex(last, { align: 'end' })overshooting the last item bypaddingEnd; it now respectsscrollPaddingEndlike other end-aligned items. To scroll to the very bottom includingpaddingEnd, usescrollToEnd(). -
#1293
c644f10- fix(virtual-core): don't cache a 0 size whenmeasureElementreceives a node that isn't attached to the document yet -
#1294
2a631f4- Keep scrollToIndex reconciliation active until pending ResizeObserver measurements can update its target, including when useAnimationFrameWithResizeObserver is enabled. Respect an external scroll away from a reached target during this settling period.
@tanstack/marko-virtual@3.16.0
@tanstack/react-virtual@3.14.14
-
#1301
ce57b78- fix(react-virtual): positiondirectDomUpdatesrows that mount without the owner re-renderingRows were only positioned by the owner's layout effect or the next
onChange. A row mounted by a child that re-renders on its own (local state, context, a resolved Suspense boundary) skipped both when it was fixed-size, and stayed unpositioned until the range changed. Rows are now positioned as they register throughmeasureElement, andcontainerRefpositions the rows that mounted together with the container. -
Updated dependencies [
43675bc,9df47a3,c644f10,2a631f4]:- @tanstack/virtual-core@3.18.0
@tanstack/react-virtual@3.14.13
-
#1282
b48e3b0- SkipflushSyncfor the synchronous notify raised frommeasureElement. React callsmeasureElementfrom a ref callback, i.e. while it is committing, andflushSynccannot flush there — it warns in development instead. The commit phase already runs at discrete (sync) priority, so the update lands in the same lane and the same frame withoutflushSync. Notifies from every other path (ResizeObserver re-measures, scroll adjustments) still flush synchronously. -
Updated dependencies [
06d1b6b,2c0a0ea]:- @tanstack/virtual-core@3.17.11
@tanstack/virtual-core@3.17.11
-
#1284
06d1b6b- Read the current scroll offset when the debounced scroll-end fallback fires so measurement adjustments made since the last browser scroll event are not overwritten by stale state. -
#1248
2c0a0ea- Keep a travelling smoothscrollToIndexalive when content is prepended. WithanchorTo: 'end', the prepend anchor sync wrotescrollTopinstantly, which cancelled the browser's smooth animation and left the scroll stranded partway; Chromium drops a smooth request re-issued right after such a cancel, so it could not be resumed. The sync is now skipped while a smooth programmatic scroll is still in flight, and the animation continues to its recomputed target. A smooth scroll that has already landed still receives the anchor sync.