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

decentraland / comms-message-sfu / 25503714461
90%

Build:
DEFAULT BRANCH: main
Ran 07 May 2026 02:58PM UTC
Jobs 1
Files 16
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

07 May 2026 02:57PM UTC coverage: 89.56% (+0.2%) from 89.356%
25503714461

push

github

web-flow
fix: guard publishData against non-connected Room (#113)

* fix: guard publishData against non-connected Room

A recent dev SIGSEGV happened inside @livekit/rtc-node native code
during the SDK's internal reconnect. Independently, there is a
latent race in routeMessage where an in-flight routing call can
outlive a concurrent disconnect and end up invoking publishData on
a Room whose native state is being torn down — which can crash the
process.

Add a ConnectionState check before each publishData so we bail
cleanly (logged + failed metric) instead of touching torn-down
native handles.

Also bump @livekit/rtc-node ^0.13.14 -> ^0.13.27, which brings in
upstream fixes around FFI event ordering, waiting for the disconnect
response, and native handle disposal — all in the same crash class.

Switch @dcl/protocol to the experimental dist-tag so we keep
tracking the experimental branch where Chat.forwarded_from lives;
main dropped that field.

* chore: bail before DB lookups when Room is not connected; dedupe state tests

Address review comments:

- Add an early ConnectionState check before db.belongsToCommunity /
  db.getCommunityMembers so a routing call against an already-disconnected
  Room avoids two unnecessary queries before failing.
- Collapse the CONN_DISCONNECTED / CONN_RECONNECTING test pair into a
  single it.each, matching the convention in disconnected-handler.spec.ts.
- Add a test that exercises the per-batch guard specifically — connection
  state flips during the members lookup, so the early check passes but
  the publish-time guard still bails before publishData.

65 of 78 branches covered (83.33%)

Branch coverage included in aggregate %.

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

261 of 286 relevant lines covered (91.26%)

8.99 hits per line

Jobs
ID Job ID Ran Files Coverage
1 25503714461.1 07 May 2026 02:58PM UTC 32
90.24
GitHub Action Run
Source Files on build 25503714461
  • Tree
  • List 16
  • Changed 7
  • Source Changed 1
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25503714461
  • 6375c10a on github
  • Prev Build on main (#23498671554)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc