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

decentraland / social-service-ea / 28624024661
90%

Build:
DEFAULT BRANCH: main
Ran 02 Jul 2026 10:00PM UTC
Jobs 1
Files 202
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

02 Jul 2026 09:54PM UTC coverage: 90.3% (+0.002%) from 90.298%
28624024661

push

github

web-flow
fix: harden WS transport, subscriptions, RPC startup and backpressure (#429)

* fix: harden WS transport, subscriptions, RPC startup and backpressure

Transport (UWebSocketTransport):
- Attach a no-op catch to each message future so fire-and-forget sends from
  @dcl/rpc can no longer surface as unhandled rejections (fatal under
  --unhandled-rejections=strict). Awaiting callers still observe rejections.
- After max retries, emit a transport error instead of silently dropping the
  message. A dropped stream frame stalls the ack loop forever and a dropped
  unary response hangs the client call; erroring lets the RPC server tear the
  transport down and the client reconnect.
- Don't re-kick the queue while a backoff retry is pending, and wire the uWS
  drain event through so queued messages retry the moment the socket drains
  instead of racing the backoff timer.
- Make close() idempotent and drop the dead pre-listener connect emit.

ws-handler:
- End the socket when the transport is closed by the RPC layer while the socket
  is still alive, so a client can't keep a live but dead session.
- Clear isConnected before closing the transport during cleanup so that guard
  is precise on the socket-initiated path instead of relying on uWS throwing.
- Guard ws.end() in the auth-failure path against an already-closed socket.
- Re-check isConnected after transport creation before attaching the user.
- Forward drain to the transport; capture the address before cleanup for the
  close log; count ws_messages_sent on actual outbound sends.

rpc-server / pubsub:
- Await the actual pub/sub subscription promises in start() (flatMap, not a
  forEach that resolved to undefined) and rethrow subscription errors so an
  instance can't boot with no subscriptions.

updates:
- Only announce a new friend as ONLINE on friendship-accept if they are
  actually connected (checked against peersStats), instead of fabricating
  presence.
- Add an optional initial-snapshot hook to handle... (continued)

2347 of 2754 branches covered (85.22%)

Branch coverage included in aggregate %.

95 of 104 new or added lines in 12 files covered. (91.35%)

3 existing lines in 2 files now uncovered.

5864 of 6339 relevant lines covered (92.51%)

80.35 hits per line

Uncovered Changes

Lines Coverage ∆ File
6
91.06
-1.75% src/controllers/handlers/uws/ws-handler.ts
2
93.57
0.8% src/adapters/rpc-server/subscribers-context.ts
1
0.0
0.0% src/components.ts

Coverage Regressions

Lines Coverage ∆ File
2
94.25
-1.65% src/utils/UWebSocketTransport.ts
1
0.0
0.0% src/components.ts
Jobs
ID Job ID Ran Files Coverage
1 28624024661.1 02 Jul 2026 10:00PM UTC 404
91.25
GitHub Action Run
Source Files on build 28624024661
  • Tree
  • List 202
  • Changed 160
  • Source Changed 12
  • Coverage Changed 160
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #28624024661
  • 29f075e2 on github
  • Prev Build on main (#28593221494)
  • Next Build on main (#29029690638)
  • Delete
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