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

humanspeak / svelte-headless-table
85%

Build:
DEFAULT BRANCH: main
Repo Added 22 Jan 2025 03:44PM UTC
Files 37
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

LAST BUILD ON BRANCH main
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • build/docs-kit-generation-cleanup
  • chore/docs-kit-2026.8.5
  • chore/lint-and-perf-followup
  • chore/package-and-docs-updates
  • chore/update-github-actions
  • ci/drop-node-20
  • ci/readme-ecosystem-footer
  • codex/docs-kit-upgrade
  • codex/pnpm-version-output
  • dependabot/npm_and_yarn/braces-3.0.3
  • dependabot/npm_and_yarn/docs/multi-6bec5677bb
  • dependabot/npm_and_yarn/docs/vite-4.5.9
  • dependabot/npm_and_yarn/rollup-4.31.0
  • dependabot/npm_and_yarn/sveltejs/kit-2.16.1
  • dependabot/npm_and_yarn/vite-5.4.14
  • docs/ui-ux
  • docs/ui-ux-updates
  • feat/virtual-scroll-sparse
  • feature-version
  • fix/release-cleanup-always-run
  • fix/seo-unique-titles
  • main
  • perf/improvements
  • seo/geo

27 Aug 2026 07:27PM UTC coverage: 84.83% (+0.2%) from 84.584%
33108531333

push

github

web-flow
feat(virtual-scroll): expose an unbuffered viewport range (#300)

* feat(virtual-scroll): expose an unbuffered viewport range

`visibleRange` is padded by `bufferSize` on both ends because it decides
what gets mounted, so it answers "what is rendered", not "what is seen".
Consumers wanting the latter — a footer tally, a scroll-progress readout,
a "jump to row" indicator — had to re-derive the sparse geometry in app
code against `totalHeight`, which is a copy that has to stay bit-for-bit
in sync with the plugin forever and silently desyncs when it doesn't.

Add `viewportRange` to `VirtualScrollState`. Sparse mode reads it off the
same `layout` anchor that positions the rendered block, so it cannot drift
from what is on screen, and the scroll-range compression applied above
`maxScrollHeight` is already undone. Dense mode gets a matching
`HeightManager.getViewportRange`; it is a second O(rows) walk, but
`derived` is lazy, so it costs nothing unless subscribed.

Notably this reports the final row at the true bottom of the dataset,
compressed or not — the off-by-one that a hand-rolled copy clamping
against `totalHeight` alone lands on.

Closes #298

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

* refactor(virtual-scroll): simplify the viewportRange plumbing

Cleanup pass over the previous commit, no behavior change.

- `getViewportRange` counts rows instead of indexing with a sentinel, so
  `start <= end` holds by construction rather than by a trailing
  `Math.min` repair. Verified equivalent to the previous form across
  18k fuzzed cases (variable and zero heights, negative and past-end
  scroll positions, zero-height viewports).
- Drop `SparseLayout.viewportStart`. It was an unconditional alias for
  `anchorIndex`, i.e. two names for one number with nothing keeping them
  in step; the one consumer now reads `anchorIndex` directly.
- Inline `trackedRange`, which had become a bare alias for
  `dedupedRange(source, notifyRangeChange)`.... (continued)

572 of 724 branches covered (79.01%)

Branch coverage included in aggregate %.

62 of 71 new or added lines in 2 files covered. (87.32%)

1525 of 1748 relevant lines covered (87.24%)

32282.47 hits per line

Relevant lines Covered
Build:
Build:
1748 RELEVANT LINES 1525 COVERED LINES
32282.47 HITS PER LINE
Source Files on main
  • Tree
  • List 37
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
33108531333 main feat(virtual-scroll): expose an unbuffered viewport range (#300) * feat(virtual-scroll): expose an unbuffered viewport range `visibleRange` is padded by `bufferSize` on both ends because it decides what gets mounted, so it answers "what is rende... push 27 Aug 2026 07:29PM UTC web-flow github
84.83
33085356528 main feat(view-model): survive column rebuilds without losing plugin state (#297) * feat(virtual-scroll): export row props and range context types `addVirtualScroll` is the only plugin whose types live in a separate `.types.ts`, so its public surface... push 27 Aug 2026 03:01PM UTC web-flow github
84.58
33070185568 main ci: trigger post-merge publish and deploy on push to main (#282) - npm-publish.yml and cloudflare-deploy.yml now run on push to main instead of pull_request[closed]: GitHub withholds secrets from pull_request events triggered by fork PRs — ev... push 27 Aug 2026 12:05PM UTC web-flow github
84.03
33066437968 main ci: trigger post-merge publish and deploy on push to main (#282) - npm-publish.yml and cloudflare-deploy.yml now run on push to main instead of pull_request[closed]: GitHub withholds secrets from pull_request events triggered by fork PRs — ev... push 27 Aug 2026 11:14AM UTC web-flow github
84.03
33066417758 feat/virtual-scroll-sparse 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 verifica... push 27 Aug 2026 11:14AM UTC web-flow github
84.03
33002893820 chore/docs-kit-2026.8.5 chore(docs): upgrade docs-kit to 2026.8.5 (#293) * chore(docs): upgrade docs-kit to 2026.8.5 Pulls in the footer heart fix: the ❤️ emoji is now a Lucide SVG heart, so the footer scale beat stays centered on every platform. Re-pins the docs-kit a... push 26 Aug 2026 07:02PM UTC web-flow github
80.64
32636969631 seo/geo docs: refresh comparisons and GEO metadata (#291) * chore: add competitive intel tracking * chore: skip TypeScript dependency updates * docs: update TanStack v9 comparison * docs: improve homepage search metadata * docs: rebalance TanStack co... push 23 Aug 2026 11:36AM UTC web-flow github
80.64
32607256872 main chore: point t3.json at branded project icon (#281) The previous iconPath referenced the stock SvelteKit favicon; use the branded docs icon (docs/static/logo.svg) instead. Co-authored-by: Claude Fable 5 <noreply@anthropic.com> push 23 Aug 2026 12:13AM UTC web-flow github
80.68
31916661572 main chore: point t3.json at branded project icon (#281) The previous iconPath referenced the stock SvelteKit favicon; use the branded docs icon (docs/static/logo.svg) instead. Co-authored-by: Claude Fable 5 <noreply@anthropic.com> push 16 Aug 2026 12:13AM UTC web-flow github
80.68
31288283501 main Bump version to v6.0.13 [skip ci] push 09 Aug 2026 01:27AM UTC jaysin586 github
80.68
See All Builds (127)
  • Repo on GitHub
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