On macOS it could happen that both, onConnect and onConnectError, were triggered, resulting in seemingly overlapping connection attempts when they really were sequential. This in turn triggered a connection error leak test in vibe-core.
Now using only the write-ready flag plus the reported socket error status to determine failed connections, guaranteeing a single call back.