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

solidjs / solid / 39663503354
78%
main: 89%

Build:
Build:
LAST BUILD BRANCH: next
DEFAULT BRANCH: main
Ran 21 Oct 2026 07:46PM UTC
Jobs 1
Files 11
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

21 Oct 2026 07:39PM UTC coverage: 77.662%. Remained the same
39663503354

push

github

web-flow
feat(frames): broadcast() shares one live server render across viewers (#4191)

* feat(frames): broadcast() shares one live server render across viewers

A broadcast declaration promises its answer is the same for every viewer,
so live callers with the same arguments share one render. Each viewer is a
tap: the render's messages are serialized once and written to every tap; a
late joiner replays the latest record per key (a hole's whole content where
the wire sent row ops), then follows the shared batches. The render ends with
its last tap and runs under its own request event.

dbmon (400 rows, 10%/tick, 5 ticks/s), server CPU ms/s, 3 rounds:
50 viewers 1106-1110 (saturated) -> 171-181; 10 viewers 304-335 -> 71-81.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011tLVM9bDP5Ud7eQGsV2oup

* feat(frames): broadcast resumes and slot data at parity with per-viewer live

A reconnect's have-list whose skeleton matches gets only what moved: the
shared frame's root and fragments with every later hole spliced in, then each
top-level hole and addressed attr whose digest differs (attr baselines kept
from the sink), as the per-viewer resume sends. Snapshots carry only the
data records the current records reference, and superseded slot-arg versions
are pruned from the shared table.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011tLVM9bDP5Ud7eQGsV2oup

* feat(compiler): a broadcast() render may not read its server function's outer body

The returned component is shared by every caller with the same arguments,
while the outer body runs per caller, so a capture would show the first
caller's value (a user, a cookie) to everyone. The directives pass now
rejects any outer-body local the component, or a local function it
reaches, reads; parameters, its own locals and module scope stay allowed.

Co-Authored-By: Claude Opus 5.5 (1M con... (continued)

762 of 1055 branches covered (72.23%)

Branch coverage included in aggregate %.

1105 of 1349 relevant lines covered (81.91%)

27.66 hits per line

Jobs
ID Job ID Ran Files Coverage
1 39663503354.1 21 Oct 2026 07:46PM UTC 11
77.66
GitHub Action Run
Source Files on build 39663503354
  • Tree
  • List 11
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #39663503354
  • a40b6cd9 on github
  • Prev Build on next (#39662947211)
  • Next Build on next (#39663824107)
  • 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