v2.11.4
- An
AbortSignalalready aborted whenZipWriter#add()orEntry#getData()is called now rejects the call. The signal was only handed topipeTo(), which ignores it on the engines below its support floor, i.e. the oldest browsers the test matrix covers: the whole entry was then written and there was nothing left to abort. Both methods now check the signal before starting, and reject withsignal.reasonwhen it is set, so the error is unchanged on the engines that already honored it, or with anAbortErrorwhose message isERR_ABORTEDotherwise,signal.reasonnot existing before Chrome 98. A pre-abortedadd()also rejects before the temporary stream of a buffered entry is created, so nothing is allocated to dispose - The chunks of a
ZipReaderStreamnow expose the properties deposited on an entry while its data is read, i.e.EntryMetaData#warningsandEntryMetaData#localDirectory. The chunk was built from a copy of the entry taken before the read started, so those two were permanently absent from it, and the warnings channel added in v2.8.x was unreachable fromZipReaderStreamalthough the types promise it. The chunk now shares them with the entry, so they are readable on it once itsreadableproperty has been consumed BlobReaderno longer fails withsourceBlob.stream is not a functionwhen its source is aBlob-like object exposing onlysize,sliceandarrayBuffer. It reads withstream()when the source has it and falls back to theslice()/arrayBuffer()path otherwise, which the reader already implemented for the engines whoseBlob#sliceis unreliable
- The
signaloption of the reader and of the writer documents that a signal already aborted rejects the call, and with which error
- New test covering a signal already aborted when
add()andgetData()are called, with and without a reason, registered without thepipeToSignalfeature gate so that it runs on the engines the fix is for - New test covering a
BlobReaderover a source withoutstream() - The warnings test asserts that a
ZipReaderStreamchunk carries the local directory and the warnings of its entry - The temporary stream test no longer uses a pre-aborted signal to reach its error path, which no longer creates a temporary stream, and covers a failing
Readerinstead; a second case pins that a pre-abortedadd()creates none
@tanstack/virtual-core@3.17.9
- #1260
4a0adf3- Recover the bottom pin when the browser clamps an end-anchored scroll compensation write.resizeItemcompensates a size change by writingscrollTopbefore the consumer has committed the new total size, so when the grown item does not itself extend the scroll range the browser clamps the write to the old maximum and the viewport is left short of the end with no scroll event to correct it. Two cases hit this:paddingEnd > 0with a growing last item, where the overflowing item only extendsscrollHeightto its own end and the clamp lands exactlypaddingEndshort (#1258); and a row above the last one growing while the last row keeps its size, underdirectDomUpdates(#1266). A compensation write whose target exceeds the scroll maximum at write time is now recorded as clamped and re-issued once the sizer has grown — right afternotifyfor consumers that size the container synchronously inonChange, and from_willUpdatefor consumers that size it during a render. The clamped read-back keeps the retry pending; any other scroll event cancels it, so a user reading history is never yanked.
@tanstack/solid-virtual@3.13.38
- Updated dependencies [
4a0adf3]:- @tanstack/virtual-core@3.17.9
@tanstack/vue-virtual@3.13.37
- Updated dependencies [
4a0adf3]:- @tanstack/virtual-core@3.17.9
@tanstack/marko-virtual@3.15.2
- Updated dependencies [
4a0adf3]:- @tanstack/virtual-core@3.17.9
@tanstack/lit-virtual@3.14.0
- #1264
bb4e0f1- Re-export@tanstack/virtual-corefrom@tanstack/lit-virtual, so the core API (Virtualizer,defaultRangeExtractor,measureElement, the scroll observers and the shared types) can be imported from the adapter without adding@tanstack/virtual-coreas a second dependency. Every other framework adapter already does this.
- Updated dependencies [
4a0adf3]:- @tanstack/virtual-core@3.17.9
@tanstack/react-virtual@3.14.11
- Updated dependencies [
4a0adf3]:- @tanstack/virtual-core@3.17.9
@tanstack/angular-virtual@6.0.4
- Updated dependencies [
4a0adf3]:- @tanstack/virtual-core@3.17.9
@tanstack/svelte-virtual@3.13.37
- Updated dependencies [
4a0adf3]:- @tanstack/virtual-core@3.17.9