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

enbility / ship-go / 28795888195
93%

Build:
DEFAULT BRANCH: dev
Ran 06 Jul 2026 01:43PM UTC
Jobs 1
Files 45
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

06 Jul 2026 01:40PM UTC coverage: 92.972% (-0.01%) from 92.985%
28795888195

push

github

web-flow
hub: prevent concurrent duplicate outgoing connections to the same SKI (#85)

`connectFoundService` only dedupes outgoing dials via `isSkiConnected`,
which becomes true after `registerConnection` (i.e. after the websocket
dial + SHIP handshake). Two concurrent outgoing dials to the same SKI
can both pass that check, both establish, and then `keepThisConnection`
tears one down mid-discovery. Some remotes then stop answering
measurement reads on the surviving connection until the whole service is
restarted.

Reserve the SKI for the duration of the dial via a new
`connectionsInitiating` set (guarded by `muxCon`), so a concurrent
outgoing dial returns early instead of racing to a second handshake. The
incoming-vs-outgoing case is still handled by `keepThisConnection`.

This is a real-live issue observed as a stalled EEBus meter on a
Vaillant heatpump in evcc-io/evcc#30889. PR is done by Claude but lgtm.

20 of 20 new or added lines in 2 files covered. (100.0%)

4 existing lines in 2 files now uncovered.

5821 of 6261 relevant lines covered (92.97%)

11672.24 hits per line

Coverage Regressions

Lines Coverage ∆ File
2
81.11
0.0% cert/cert.go
2
91.56
-0.89% ws/websocket.go
Jobs
ID Job ID Ran Files Coverage
1 28795888195.1 06 Jul 2026 01:43PM UTC 45
92.97
GitHub Action Run
Source Files on build 28795888195
  • Tree
  • List 45
  • Changed 4
  • Source Changed 2
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28795888195
  • 3abd41d1 on github
  • Prev Build on dev (#28788123488)
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