• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

humanspeak / svelte-headless-table / 33066417758
84%
main: 85%

Build:
Build:
LAST BUILD BRANCH: feat/virtual-scroll-sparse
DEFAULT BRANCH: main
Ran 27 Aug 2026 11:14AM UTC
Jobs 1
Files 37
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 Aug 2026 11:13AM UTC coverage: 84.025% (+3.4%) from 80.637%
33066417758

push

github

web-flow
feat(virtual-scroll): sparse windowing over server-paged datasets (#295)

* chore: bump packageManager to pnpm@11.24.0

The pinned 11.22.0 no longer matched the installed pnpm, so pnpm tried to
self-manage the version and failed integrity verification against the
lockfile ("Cannot verify the identity of the @pnpm/exe.darwin-x64 native
binary"). That broke `pnpm run check`, and with it the pre-commit hook.

CI reads the version from this field (pnpm/action-setup@v6 is unpinned),
so no workflow changes are needed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* feat(virtual-scroll): sparse windowing over server-paged datasets

`addVirtualScroll` derived all geometry from the length of the data store,
so it could only window over rows already in memory. Passing `totalRows`
now opts into sparse mode: the plugin sizes the scroll container and
computes ranges against the full dataset while `data` holds only the
resident window.

- `totalRows` — dataset size, independent of what's loaded
- `dataOffset` — absolute index of `data[0]`
- `onRangeChange` — fires when the window moves, so the caller can fetch
  and evict; deferred to a microtask so handlers can update stores

Indices reported in sparse mode (`visibleRange`, `scrollToIndex`,
`virtualIndex`) are absolute. Rows in range but not resident simply don't
render, and the spacers absorb their height, so the container stays
correctly sized mid-fetch. Sparse geometry uses a uniform row height
(the running average of measured rows), since rows outside the window
can't be measured.

Dense mode is untouched — it stays the default and its behavior is
unchanged.

Adds a /virtual-scroll-sparse dev route that windows over a 4,000,000-row
paged source with LRU eviction, and documents the browser scroll-height
ceiling (~16.7M px in Chrome) that bounds addressable scrolling.

Closes #294

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* docs(virtual-scroll): drop unverified F... (continued)

540 of 696 branches covered (77.59%)

Branch coverage included in aggregate %.

121 of 123 new or added lines in 2 files covered. (98.37%)

1464 of 1689 relevant lines covered (86.68%)

19853.57 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
81.72
37.11% src/lib/plugins/addVirtualScroll.ts
1
97.16
-1.86% src/lib/utils/HeightManager.ts
Jobs
ID Job ID Ran Files Coverage
1 node-22 - 33066417758.1 27 Aug 2026 11:14AM UTC 37
84.03
GitHub Action Run
Source Files on build 33066417758
  • Tree
  • List 37
  • Changed 3
  • Source Changed 2
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #33066417758
  • 8dc070e6 on github
  • Prev Build on chore/docs-kit-2026.8.5 (#33002893820)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc