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

humanspeak / svelte-virtual-chat
92%
main: 92%

Build:
Build:
LAST BUILD BRANCH: perf/drop-observer-attribute-observation
DEFAULT BRANCH: main
Repo Added 14 Apr 2026 08:20PM UTC
Token DfdaaWjnbd4gD0vSU1LzU3AuqcSUFjZuU regen
Build 42 Last
Files 8
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 fix/programmatic-scroll-livelock
branch: fix/programmatic-scroll-livelock
CHANGE BRANCH
x
Reset
Sync Branches
  • fix/programmatic-scroll-livelock
  • chore/perf-bench-cascade-and-heap
  • ci/drop-node-20
  • ci/readme-ecosystem-footer
  • codex/issue-31-keyboard-scroll-preservation
  • codex/late-table-growth-repro
  • codex/scroll-progress-late-growth
  • docs/accessibility
  • docs/markdown-format-parity
  • fix/add-license-and-publish-readiness
  • fix/estimate-miss-corrections
  • fix/follow-bottom-streaming
  • fix/keyboard-arrow-bounce
  • fix/overflow-anchor-follow-bottom
  • fix/prepend-anchor-preservation
  • fix/release-cleanup-always-run
  • fix/stream-swap-follow-bottom
  • main
  • perf/anchoring-prefix-sums
  • perf/coalesce-version-bumps
  • perf/drop-observer-attribute-observation
  • perf/memoize-rendered-slice
  • smooth-scrolling
  • typed-lint/001-lint-unit-tests-and-typed-lint
  • typed-lint/001-lint-unit-tests-and-typed-lint-2

02 Jul 2026 09:01PM UTC coverage: 91.938%. First build
28621331078

push

github

web-flow
fix(chat): let programmatic scrolls escape follow-bottom (#49)

* test(chat): add failing spec for programmatic slow-scroll livelock (#45)

A sustained programmatic upward scroll (30px/frame in the rAF phase — the
shape of a consumer scroll animation or a11y tool) can never leave the
bottom: with no scroll intent to suppress it, snap-to-bottom answers
every step, and each snap-back also resets the upward-travel accumulator
that the unfollow decision needs. The viewport oscillates at the bottom
forever while following=true.

A control test guards the intended magnet: one sub-threshold nudge keeps
following, before and after the fix.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(chat): keep upward-travel evidence through snap-backs so programmatic scrolls can escape

The travel accumulator reset whenever the viewport was within the follow
threshold — which is exactly where the component's own snap-backs land.
A sustained programmatic upward scroll (no scroll intent to suppress the
snap) had its evidence erased every cycle: step up, snap back, reset,
repeat — a livelock where the viewport could never leave the bottom.

Upward user-attributable movement now always accumulates, inside or
outside the threshold; only a non-upward arrival at the bottom (snap-
backs, downward scrolls, clamps) wipes the slate. Trackpad noise still
resets on every downward half-tick, wheel input still escapes via
intent, and the sub-threshold magnet is unchanged (guarded by the new
control test). Fixes #45

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs(readme): add tokenmaxing badge

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* refactor(chat): move the upward-travel transition rule into chatScrollPolicy

Cleanups from a reuse/simplification/efficiency/altitude review pass —
no behavior changes:

- accumulateUpwardTravel is a pure policy function now, co-located with
  its consumer (decideFollowBottomAfterScroll), its shared attribut... (continued)

190 of 218 branches covered (87.16%)

Branch coverage included in aggregate %.

4 of 4 new or added lines in 1 file covered. (100.0%)

346 of 365 relevant lines covered (94.79%)

48.42 hits per line

Relevant lines Covered
Build:
Build:
365 RELEVANT LINES 346 COVERED LINES
48.42 HITS PER LINE
Source Files on fix/programmatic-scroll-livelock
  • Tree
  • List 7
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
28621331078 fix/programmatic-scroll-livelock fix(chat): let programmatic scrolls escape follow-bottom (#49) * test(chat): add failing spec for programmatic slow-scroll livelock (#45) A sustained programmatic upward scroll (30px/frame in the rAF phase — the shape of a consumer scroll animat... push 02 Jul 2026 09:02PM UTC web-flow github
91.94
See All Builds (40)

Badge your Repo: svelte-virtual-chat

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

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

Refresh
  • Settings
  • 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