Skip to content

ci: Version Packages - #1323

Merged
piecyk merged 1 commit into
mainfrom
changeset-release/main
Oct 15, 2026
Merged

piecyk merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@tanstack/angular-virtual@6.1.6

Patch Changes

@tanstack/lit-virtual@3.14.9

Patch Changes

@tanstack/marko-virtual@3.16.6

Patch Changes

@tanstack/react-virtual@3.14.20

Patch Changes

@tanstack/solid-virtual@3.13.47

Patch Changes

@tanstack/svelte-virtual@3.13.46

Patch Changes

@tanstack/virtual-core@3.19.5

Patch Changes

  • #1330 56b2a63 - fix(virtual-core): keep an instant scroll command clamped at a max the sizer committed outside a row resize

    Before an instant scroll command's write is reported, the browser can clamp it at a smaller scroll max that the sizer moves to without a row resize: an append or prepend, measure(), or a resize the sizer had not committed when the command was written. The virtualizer now also records the max at each commit, so such an event is read as its own clamped write and the command lands. A clamped write reported with isScrolling false is now written again too.

  • #1329 d2c7911 - fix(virtual-core): keep an instant scroll command when the browser clamps its write before rows grow back

    Rows measured right after an instant scrollToEnd() (or scrollToIndex) can first shrink the sizer below the written position and then grow it again in the same task. The browser clamps the write to the smaller max, and the scroll event reports that position. It was read as the user scrolling away, so the command was cancelled and the list stopped short of the end (a chat opened with estimateSize larger than its rows). The virtualizer now follows the scroll max through those measurements and reads such an event as its own clamped write, so the command retargets and lands at the end.

  • #1324 9c762fe - fix(virtual-core): scroll commands and corrections that stalled or were lost (#1307)

    • On iOS 27 and later a scrollTop write no longer stops a fling but is overridden by it within a frame. A scrollToIndex, scrollToOffset or scrollToEnd issued during a fling now waits for the fling to end instead of being lost. The user taking over before then cancels it: a drag, a second flick, or a finger stopping the fling (iOS reports none of these with touch events while the fling runs). Corrections keep being held through the gesture as on every version.
    • scrollToOffset / scrollBy: a row above the viewport growing after the write's read-back moved the element off the fixed target, and the command kept reconciling until the 5s safety valve. The target now moves with the correction.
    • A prepend (anchorTo: 'end') before the read-back of a scroll command was anchored against the stale offset and written over the command. It is now left to reconcile, like a resize in that window.
    • A scroll event between the prepend's options change and the adapter's commit no longer loses the anchor (one blank frame when the element could not be written by commit time).
    • A command's write clamped by a sizer that shrank below it before the read-back no longer reads as a user scroll; the command reaches its fresh target.
  • #1332 6789f7a - fix(virtual-core): on iOS 27 and later, a scroll command issued during a fling takes effect at once

    A scrollToIndex, scrollToOffset or scrollToEnd issued during a fling waited for the fling to end, so a button outside the list (such as "jump to latest") did nothing until the list stopped. The command now stops the fling by hiding the scroll element's overflow for two frames, then restores the element's own inline value and writes. The user taking over before the write still cancels the command.

  • #1325 77cb05e - refactor(virtual-core): move the iOS touch gesture tracking into its own internal module. One fix along the way: changing the scroll element no longer carries over a pending iOS late-fling window, which could defer corrections on the new element for 150ms.

  • #1318 4a1a4fd - fix(virtual-core): on iOS, defer scroll corrections only for touch-driven scrolls (a finger down, or the momentum after it), so a programmatic landing like scrollToOffset compensates before paint instead of snapping later

  • #1319 3c61b6e - fix(virtual-core): hold a scroll correction the element cannot take instead of writing it (#1287)

    A prepend's anchor delta or an above-viewport size change that lands while a scrollTop write is impossible (iOS during a touch gesture or its momentum tail, any WebKit while the element is rubber-banding past an edge) is now held: scrollOffset carries the corrected position, the rows and the total size are exposed shifted back by the held amount so every adapter keeps the reader's row where it is, and one write moves the element once a write is possible. Before, the write was discarded during the bounce on desktop Safari (the bounce stalled with the new rows and a blank top on screen), and on iOS the new rows showed through the bounce and snapped back at the flush.

  • #1324 9c762fe - refactor(virtual-core): simplify the scroll-correction state (no behaviour change)

    • A scroll event is classified once (spurious re-emit, our own write's read-back, a clamped read-back or echo, or external) before the handler acts on it, a scroll command waiting for the iOS 27 momentum tail is a phase of its own, and the iOS touch gesture tracks a single moved flag.
    • scrollAdjustments is deprecated: a correction is folded into scrollOffset at once, so it is always 0. Read scrollOffset alone; the getter stays.
    • One edge case changes: corrections made while enabled: false used to accumulate, and a correction made after re-enabling but before the next update was added on top of them. They are no longer carried over.

@tanstack/vue-virtual@3.13.46

Patch Changes

@tanstack/virtual-benchmarks@0.0.23

Patch Changes

  • Updated dependencies []:
    • @tanstack/react-virtual@3.14.20

@coderabbitai

coderabbitai Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 70dbf2b1-4942-487c-9b5c-f41085e1e816

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions
github-actions Bot force-pushed the changeset-release/main branch 4 times, most recently from 211fb79 to 35a3782 Compare October 15, 2026 07:07
@github-actions

Copy link
Copy Markdown
Contributor Author

🚀 Changeset Version Preview

No changeset entries found. Merging this PR will not cause a version bump for any packages.

@nx-cloud

nx-cloud Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit f44a5f6

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

☁️ Nx Cloud last updated this comment at 2026-10-15 13:46:24 UTC

@pkg-pr-new

pkg-pr-new Bot commented Oct 15, 2026 •

Copy link
Copy Markdown
More templates

@tanstack/angular-virtual

npm i https://pkg.pr.new/@tanstack/angular-virtual@1323

@tanstack/lit-virtual

npm i https://pkg.pr.new/@tanstack/lit-virtual@1323

@tanstack/marko-virtual

npm i https://pkg.pr.new/@tanstack/marko-virtual@1323

@tanstack/react-virtual

npm i https://pkg.pr.new/@tanstack/react-virtual@1323

@tanstack/solid-virtual

npm i https://pkg.pr.new/@tanstack/solid-virtual@1323

@tanstack/svelte-virtual

npm i https://pkg.pr.new/@tanstack/svelte-virtual@1323

@tanstack/virtual-core

npm i https://pkg.pr.new/@tanstack/virtual-core@1323

@tanstack/vue-virtual

npm i https://pkg.pr.new/@tanstack/vue-virtual@1323

commit: f44a5f6

@github-actions
github-actions Bot force-pushed the changeset-release/main branch 3 times, most recently from aaebcab to 582d3dd Compare October 15, 2026 12:39
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 582d3dd to f44a5f6 Compare October 15, 2026 13:21
@piecyk
piecyk merged commit 4296ac2 into main Oct 15, 2026
10 checks passed
@piecyk
piecyk deleted the changeset-release/main branch October 15, 2026 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant