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

enbility / ship-go / 26030742651
93%

Build:
DEFAULT BRANCH: dev
Ran 18 May 2026 11:33AM 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

18 May 2026 11:30AM UTC coverage: 92.952% (-0.2%) from 93.112%
26030742651

push

github

web-flow
Fix pairing issues and trust duplications (#82)

Fixes pairing-flow correctness issues and eliminates duplicate
ServiceDetails entries that were causing already-registered devices to
be rejected.

##  Hub — duplicate service entries
- Introduce mergeOrAddService, a single registry primitive that matches
existing entries by the union of non-empty SKI / Fingerprint / ShipID,
detects cross-identifier conflicts, and folds matches into a canonical
(trust-preferred) entry under muxReg.
- Replaces per-call ad-hoc patching across mDNS, TLS handshake, pairing,
and registration paths.
- foldInto copies missing identifiers, ORs Trusted/AutoAccept, upgrades
PairingType to AddCu if either side has it, and takes IPv4 if missing.
- ServiceForIdentifier* now prefers a trusted match on collision
(defence against split state from persistence rehydration).
- Behavioural change: an identifier conflict in ServeHTTP now closes the
connection (safeClose) instead of silently creating a parallel entry.

##  Pairing — trust transfer on addCu replacement
- Untrust the prior devZ on every successful addCu-request whose
fingerprint differs, regardless of whether the SHIP ID matches.
- Per Pairing TS §4.3.1.b.i and §10.3, the prior
same-vs-different-ShipID branching was suppressing untrust+remove for
same-SHIP-ID cert rotation (SHIP §12.2.1), causing the merge to abort on
fingerprint conflict and trust to never propagate.

##  mDNS — TXT record validation
  - Make TXT key handling RFC 6763 case-insensitive.

##  Misc
- Reduce SHIP Pairing ring buffer from 100 → 10, the spec-recommended
minimum (Pairing TS §11.2).
- Restore activation of addCu Replacement timer in
HandleConnectionClosed — accidentally removed previously.

220 of 247 new or added lines in 10 files covered. (89.07%)

7 existing lines in 4 files now uncovered.

5803 of 6243 relevant lines covered (92.95%)

15404.57 hits per line

Uncovered Changes

Lines Coverage ∆ File
8
84.21
-1.84% hub/hub_connections_server.go
6
74.07
-2.43% hub/hub_connections_client.go
4
91.39
-1.72% mdns/zeroconf.go
3
94.79
-2.91% hub/hub_mdns.go
3
87.6
-1.78% hub/hub_shipconnection.go
2
95.69
-1.41% mdns/avahi.go
1
91.86
-0.28% mdns/mdns.go

Coverage Regressions

Lines Coverage ∆ File
4
95.69
-1.41% mdns/avahi.go
1
84.21
-1.84% hub/hub_connections_server.go
1
90.74
1.44% hub/hub_pairing.go
1
91.86
-0.28% mdns/mdns.go
Jobs
ID Job ID Ran Files Coverage
1 26030742651.1 18 May 2026 11:33AM UTC 45
92.95
GitHub Action Run
Source Files on build 26030742651
  • Tree
  • List 45
  • Changed 10
  • Source Changed 10
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26030742651
  • 13468706 on github
  • Prev Build on dev (#25171174759)
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