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

humanspeak / svelte-virtual-chat / 28615383480

Build:
Build:
LAST BUILD BRANCH: perf/drop-observer-attribute-observation
DEFAULT BRANCH: main
Ran 02 Jul 2026 07:14PM UTC
Jobs 0
Files 0
Run time –
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

Canceled at 12 Jul 2026 03:04AM UTC via web
28615383480

push

github

web-flow
fix(chat): count bubble margins in message height measurement (#48)

* test(chat): add failing spec for margin-styled bubbles escaping measurement (#47)

New /tests/chat/margin-bubbles fixture: 200px bubbles with margin 12px 0,
estimatedMessageHeight pinned to the measured border-box (200) so
estimate corrections are out of play — margins are the only variable. The
stats line reports the damage live: marginLossPx (real pitch minus
recorded height) and the constant-rate sweep's jumps.

Current numbers: measuredPx=200 realPitchPx=212 marginLossPx=12, and
jumps=30 maxJumpPx=12 totalJumpPx=360 over a 200-frame sweep — a 12px
painted shift at every render-range boundary, with no ResizeObserver
event ever firing (heights are "stable"), so the pre-paint anchor
restore never engages.

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

* fix(chat): measure message pitch from layout offsets so margins can't escape

Message heights were the wrapper's border box (borderBoxSize.blockSize),
which excludes margins — and chat-bubble margins collapse straight
through the unstyled wrappers, so every message was under-counted by its
effective margin, permanently. totalHeight ran ~6% short on the
margin-bubbles fixture and the rendered slice shifted by the lost 12px
at every render-range boundary while scrolling, with no ResizeObserver
event to hook a correction on.

Heights are now derived from layout ground truth: each rendered
wrapper's offsetTop delta to its next sibling inside the items container
(the container's own height closes the last one), which includes
collapsed margins by construction regardless of consumer CSS. The
per-message ResizeObservers remain purely as change triggers, and the
re-derive is self-coalescing — a burst of observer firings in one
delivery does the work once and skips the anchor/snap machinery when no
pitch changed.

margin-bubbles spec: marginLossPx 12 → 0, sweep jumps 30/12/360 → 0/0/0.
The fixture's cache-pitch probe now derives f... (continued)
Source Files on build 28615383480
Detailed source file information is not available for this build.
  • Back to Repo
  • Github Actions Build #28615383480
  • 73127f1f on github
  • Delete
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