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

RobotWebTools / rclnodejs / 32113690306
91%

Build:
DEFAULT BRANCH: develop
Ran 18 Aug 2026 08:13AM UTC
Jobs 1
Files 67
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

18 Aug 2026 07:54AM UTC coverage: 91.068% (-0.001%) from 91.069%
32113690306

push

github

web-flow
[Web runtime] Add reconnect-on-close to the Browser SDK (#1569)

Implements `RosClient`'s previously-reserved `reconnect` option (`web/client.js`, `_WsLink`).

- `{reconnect: true}` reopens the WS link with exponential backoff (500ms–30s, half-jitter) after a drop that follows a successful connect. The first connect attempt always rejects once rather than retrying forever, even when a connection error is followed by a close event.
- Active subscriptions are replayed on reopen, reusing the same `subId`, so existing `Subscription` handles keep working transparently.
- `RosClient.on`/`off` lifecycle events: `'disconnected'` (any unexpected drop), `'reconnecting'` (`{attempt, delay}`), `'reconnected'`.
- Any request affected by a drop — whether already in flight when it happened, or newly issued while a reconnect attempt is in progress — rejects with `code: 'connection_lost'`. The message adds `"; reconnecting"` only when a retry will actually happen, and stays plain `"connection lost"` when it won't.
- `ros.close()` always wins over reconnect and finalizes cleanly, whether called mid-backoff or while a reconnect attempt's socket is still opening.
- `web/index.d.ts`: `reconnect` documented as implemented; new `RosClientEventMap`/`ReconnectingDetail`; `on`/`off` declared on `RosClient`.
- `test/test-web-reconnect.js` (new, 8 tests): reconnect + subscription replay, in-flight/new-request rejection during a drop, default behavior with `reconnect` unset, first-connect-rejects-once, close() during backoff, close() never triggers a reconnect.

Fix: #1510

2196 of 2590 branches covered (84.79%)

Branch coverage included in aggregate %.

17593 of 19140 relevant lines covered (91.92%)

218.94 hits per line

Jobs
ID Job ID Ran Files Coverage
1 32113690306.1 18 Aug 2026 08:13AM UTC 67
91.07
GitHub Action Run
Source Files on build 32113690306
  • Tree
  • List 67
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #32113690306
  • e23c1c18 on github
  • Prev Build on develop (#31462052643)
  • Next Build on develop (#32115864182)
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