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

enbility / ship-go
93%

Build:
DEFAULT BRANCH: dev
Repo Added 14 Jan 2024 07:40PM UTC
Files 46
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

LAST BUILD ON BRANCH dev
branch: dev
CHANGE BRANCH
x
Reset
  • dev
  • auto_accept_stalls_ship
  • bug/attempt_reconnect_when_device_reappears
  • bug/autoAcceptAnnouncement
  • bug/avahi_dead_lock
  • bugfix/race-condition
  • chore/redundant-nil-checks
  • docs/testspec-coverage-comments
  • feat/dynamicMdnsInterfaceManagement
  • feat/hub-bound-port
  • feature/action-update
  • feature/analysis-docs
  • feature/bugfixes
  • feature/hub-improvements
  • feature/json-parsing-improvements
  • feature/maintenance
  • feature/mdns-restart-improvements
  • feature/register-improvements
  • feature/shippairing-2
  • feature/tls-improvements
  • fix/connection-attempt-flag-leak-on-unknown-service
  • fix/double-connection-outgoing-dedup
  • fix/hub-connection-bugs
  • fix/hub_connections_test
  • fix/json-whitespace-tolerance
  • fix/link-local-dial-loglevel
  • fix/mdns-autoaccept-txt-update
  • fix/mdns-deadlock-and-unreported-read-pump-panic
  • fix/mdns-service-type-case-sensitivity
  • fix/pairing-issues-and-trust-dupes
  • fix/pairing-reactivate-listener-on-addCu-removal
  • fix/pairing-startup-listener-guard
  • fix/pairing-txt-format-validation
  • fix/prevent-stuck-shutdown-test-goroutine-leak
  • fix/protocol-handshake-error-envelope
  • fix/qr-ski-spacing
  • fix/race-job-timeout
  • fix/reannounce-entrygroup-leak
  • fix/remove-unused-announcement-cancel-ctx
  • fix/ship-double-connection
  • fix/ship-handshake-conformance
  • fix/ship-hello-prolongation-increase
  • fix/ship-sec-abort-tls-on-spoofed-cert
  • fix/ship-tests-tc-ship-amdata-002
  • fix/spine-write-error-teardown
  • fix/trusted-reconnect-mdns-drop
  • fix/ws-flush-queue-on-closing
  • fix_issue_49
  • main
  • safer-connection-attempt-running-handling
  • update-to-zeroconf-v3
  • upstream/reset-connection-backoff

28 Sep 2026 11:06AM UTC coverage: 93.027% (-0.06%) from 93.083%
36413688379

push

github

web-flow
fix(hub): don't strand the connection attempt flag when the service is gone (#123)

May fix some failed connection attempts by the living lab after
reregistering SKIs.

coordinateConnectionInitations sets connectionAttemptRunning for a SKI
and raises its attempt counter before it resolves the service entry.
When the entry is gone it returns early — leaving the flag set with no
delay timer attached.

The flag is only ever cleared by the delay timer's callback or by
cancelConnectionDelayTimer, and neither can run without a timer. Every
later call for that SKI then returns at the guard, so the SKI never
initiates a connection again until the process restarts.
UnregisterRemoteService removes the entry concurrently with mDNS
processing, which is exactly how the lookup comes back nil.

The stranded attempt counter has a second effect: it stays raised,
pushing the next delay into the 10–20 s band.

Resolving the service before taking any per-SKI state fixes both. If the
entry is removed after the lookup, the timer already exists and its
callback clears the flag.

Two regression tests: the attempt flag and counter must stay untouched
when no service entry exists, and a SKI must be able to connect again
after an unregister/register cycle.

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

4 existing lines in 1 file now uncovered.

6164 of 6626 relevant lines covered (93.03%)

14377.39 hits per line

Relevant lines Covered
Build:
Build:
6626 RELEVANT LINES 6164 COVERED LINES
14377.39 HITS PER LINE
Source Files on dev
  • Tree
  • List 46
  • Changed 2
  • Source Changed 1
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
36413688379 dev fix(hub): don't strand the connection attempt flag when the service is gone (#123) May fix some failed connection attempts by the living lab after reregistering SKIs. coordinateConnectionInitations sets connectionAttemptRunning for a SKI and rai... push 28 Sep 2026 11:10AM UTC web-flow github
93.03
36413409072 dev fix(ws): deliver queued SHIP messages before closing the connection (#120) Callers queue a final SHIP message and close in the same breath: abortProtocolHandshake sends its "protocol handshake error", the CMI rejection sends its reply. The messag... push 28 Sep 2026 11:07AM UTC web-flow github
93.08
35613403500 dev fix(model): wrap protocol handshake error in its SHIP envelope (#118) SHIP TS 13.4.4.2.1 defines the SME "protocol handshake error" message by the root tag "messageProtocolHandshakeError", which wraps the error number. MessageProtocolHandshakeErr... push 21 Sep 2026 02:41PM UTC web-flow github
92.99
35367173385 dev fix(hub): abort TLS handshake on spoofed server certificate (TC_SHIP_SEC_001/002) (#119) Fixes #117 Runs the existing `validateRemoteCertificate` from a `VerifyPeerCertificate` hook on the client TLS config, so a spoofed server certificate is r... push 18 Sep 2026 04:17PM UTC web-flow github
92.95
35364100236 dev fix(ship): don't buffer SPINE data during access methods handshake (#103) Enable SPINE processing as soon as we send an accessMethods request and enter the "Connection data exchange" state. Previously we buffered messages and only began respondin... push 18 Sep 2026 03:46PM UTC web-flow github
93.1
35354868886 dev fix(ship): increase the Wait-For-Ready-Timer on a prolongation request (TC_SHIP_HELLO_002) (#122) Fixes #121. ## The problem SHIP 13.4.4.1.3 has an accepted prolongation request **increase** the Wait-For-Ready-Timer by T_hello_inc, which is the... push 18 Sep 2026 02:16PM UTC web-flow github
93.08
34947939403 dev fix(hub): group SKI in blocks of 4 hex digits in QR codes (#114) Fixes #113 Adds spaces every 4 hexadecimal digits to the SKI in both QR code generators, as required by SHIP Spec 1.1.0 §12.7 and covered by test case TC_SPS_QR_001. See the issue... push 15 Sep 2026 08:40AM UTC web-flow github
93.07
33493256316 dev ci: give the race detection job a workable timeout (#111) `go test -race -timeout=90s -count=3 ./ship ./hub` gives **each test binary** a 90s budget. `./hub` needs ~30s per `-race` run, so `-count=3` lands at ~88s locally — inside the budget, wit... push 01 Sep 2026 09:42AM UTC web-flow github
93.09
33387789344 dev fix(ship): resolve double connections by SKI and recency (TC_SHIP_CONN_001) (#106) # fix(ship): resolve double connections by SKI and recency (TC_SHIP_CONN_001) Fixes #96. ## The problem SHIP 12.2.2 says the node with the bigger 160-bit SKI ke... push 31 Aug 2026 11:40AM UTC web-flow github
93.06
30808179265 dev Tolerate structural whitespace in EEBUS JSON (#100) JsonFromEEBUSJson unwraps the EEBUS array-of-single-key-objects encoding via exact byte-sequence replacements. Any RFC 8259 structural whitespace around JSON tokens defeated those matches, leavi... push 03 Aug 2026 11:09AM UTC web-flow github
92.73
See All Builds (298)
  • Repo on GitHub
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